Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Sortowanie liczb

Ostatnio zmodyfikowano 2009-08-13 12:12
Autor Wiadomość
Carlosss
Temat założony przez niniejszego użytkownika
Sortowanie liczb
» 2009-08-01 21:57:16
Mam do was pytanko a mianowicie...
Jak zrobić by program spośród wypisanych liczb ustawił je w kolejności od największej do najmniejszej (bądź odwrotnie) i wypisał je na ekran??
Z góry dzięki za każde pomocne odpowiedzi...

//Od pixelmaster: staraj się, aby nazwa wątku naprowadzała na to o czym będziesz pisał w wątku
P-8956
DejaVu
» 2009-08-01 22:02:28
1. wczytać dane do tablicy
2. posortować tablicę
3. wypisać zawartość tablicy
P-8957
Carlosss
Temat założony przez niniejszego użytkownika
» 2009-08-01 22:03:27
zrobilem cos takiego ale nie działa tak jak tego chciałem więc prosze o
podpowiedź co źle w tym programie jest
C/C++
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
#include <conio.h>
using namespace std;
string zawodnicy[ 15 ] = { "Lsss", "Lsccss", "Lgjbsss", "Lsshgfgs", "Lsghss", "Lsssaw", "Lwwsss", "Lsaass", "Lssdds", "Ldfdssss", "Lsssads" };
int um_zaw[ 12 ];
int st[ 12 ], jz[ 12 ], si[ 12 ], re[ 12 ], fo[ 12 ], ko[ 12 ];
void zamien( int & a, int & b )
{
    int temp = a;
    a = b;
    b = temp;
}
void sortowanie_przez_wybor( int um_zaw[], int n )
{
   
    int i, j, k, temp;
    for( i = 0; i < n; i++ )
    {
        k = i;
        for( j = i + 1; j < n; j++ )
        if( um_zaw[ j ] > um_zaw[ k ] )
             k = j;
       
        zamien( um_zaw[ k ], um_zaw[ i ] );
    }
}
void wypisz( string zawodnicy[], int n )
{
    for( int i = 0; i < n; i++ )
         cout << setw( 3 ) << zawodnicy[ i ] << " " << um_zaw[ i ] << "\n";
   
    cout << endl;
}
void wypisz2( string zawodnicy[], int n )
{
    int a = 3;
    for( int i = 0; i < n; i++ )
         cout << a--<< "] " << setw( 3 ) << zawodnicy[ i ] << "\n";
   
    cout << endl;
}
int main()
{
    st[ 0 ] = 34; st[ 1 ] = 34; st[ 2 ] = 35; st[ 3 ] = 12; st[ 4 ] = 65; st[ 5 ] = 80; st[ 6 ] = 43; st[ 7 ] = 25; st[ 8 ] = 36; st[ 9 ] = 20; st[ 10 ] = 75; st[ 11 ] = 20; st[ 12 ] = 45;
    jz[ 0 ] = 53; jz[ 1 ] = 53; jz[ 2 ] = 23; jz[ 3 ] = 42; jz[ 4 ] = 56; jz[ 5 ] = 35; jz[ 6 ] = 35; jz[ 7 ] = 35; jz[ 8 ] = 28; jz[ 9 ] = 14; jz[ 10 ] = 80; jz[ 11 ] = 10; jz[ 12 ] = 44;
    si[ 0 ] = 25; si[ 1 ] = 26; si[ 2 ] = 11; si[ 3 ] = 12; si[ 4 ] = 75; si[ 5 ] = 23; si[ 6 ] = 15; si[ 7 ] = 25; si[ 8 ] = 19; si[ 9 ] = 8; si[ 10 ] = 80; si[ 11 ] = 30; si[ 12 ] = 44;
    re[ 0 ] = 25; re[ 1 ] = 25; re[ 2 ] = 57; re[ 3 ] = 21; re[ 4 ] = 74; re[ 5 ] = 42; re[ 6 ] = 11; re[ 7 ] = 25; re[ 8 ] = 8; re[ 9 ] = 9; re[ 10 ] = 80; re[ 11 ] = 40; re[ 12 ] = 44;
    ko[ 0 ] = 25; ko[ 1 ] = 25; ko[ 2 ] = 11; ko[ 3 ] = 12; ko[ 4 ] = 32; ko[ 5 ] = 34; ko[ 6 ] = 12; ko[ 7 ] = 25; ko[ 8 ] = 10; ko[ 9 ] = 6; ko[ 10 ] = 80; ko[ 11 ] = 50; ko[ 12 ] = 44;
    for( int r = 0; r < 13; r++ )
         um_zaw[ r ] = st[ r ] + jz[ r ] + si[ r ] + re[ r ] + ko[ r ];
   
    int tablica[ 4 ];
    int i;
    srand( time( NULL ) );
   
    cout << "W tym biegu wystartuja " << endl;
    wypisz( zawodnicy, 4 );
    cout << "Wyniki biegu:" << endl;
    sortowanie_przez_wybor( um_zaw, 4 );
    wypisz2( zawodnicy, 4 );
   
    getchar();
    getchar();
    return 0;
}
P-8958
DejaVu
» 2009-08-11 11:44:39
Tak nie wgłębiając się w to czy algorytm sortowania działa - sortujesz tylko i wyłącznie tablicę z int'ami. Kolejności zawodników nie zmieniasz w tablicy z ich nazwami, więc zawodnicy zawsze są wypisywani w tej samej kolejności.
P-9302
Carlosss
Temat założony przez niniejszego użytkownika
» 2009-08-11 12:06:46
A jak to zrobic ?? Jak bys mógł to edytuj kod programu
P-9303
eBbi
» 2009-08-11 12:58:59
cholera ;p Pisałem artykół wczoraj o algorytmach sortowań ale go jeszcze nie publikowąłem bo nieskończyłem :(. Dziś opublikuje go, narazie posiada tylko 3 algorytmy ale na dniach go rozwine. A narazie to wpracy jestem :p
P-9309
DeBugger
» 2009-08-13 12:12:01
Napisałeś już temat/artukuł o algorytmach sortowania - ten temat zamykam. :)
P-9390
« 1 »
  Strona 1 z 1