Sortowanie struktury
Ostatnio zmodyfikowano 2015-02-03 13:17
oem Temat założony przez niniejszego użytkownika |
Sortowanie struktury » 2015-02-03 00:06:58 Witam, Nidzie nie mogłem znaleźć odpowiedzi na moje pytanie, przeszukałem chyba pół internetu. Jeżeli chodzi o programowanie w c++ jestem totalnym zerem, więc pytanie może wydawać się dla niektórych trywialne. Chodzi o sortowanie struktury. Teoretycznie sortuje...ale nie strukturę danych tylko poszczególny element - w tym przypadku rocznik. struct salon { char marka[ 20 ]; char model[ 20 ]; int rocznik; float cena; float pojemnosc; };
salon tab[ 100 ];
void sort() { int y = 2; int pom, a; for( int j = 0; j < i; j++ ) { pom = tab[ j ].rocznik; a = j - 1; while( a >= 0 && tab[ a ].rocznik > pom ) { tab[ a + 1 ].rocznik = tab[ a ].rocznik; --a; } tab[ a + 1 ].rocznik = pom; } for( int j = 0; j < i; j++, y++ ) { gotoxy( 0, 0 ); cout << "Marka"; gotoxy( 15, 0 ); cout << "Model"; gotoxy( 30, 0 ); cout << "Rocznik"; gotoxy( 45, 0 ); cout << "Pojemnosc"; gotoxy( 60, 0 ); cout << "Cena" << endl; gotoxy( 0, y ); cout << tab[ j ].marka; gotoxy( 15, y ); cout << tab[ j ].model; gotoxy( 30, y ); cout << tab[ j ].rocznik; gotoxy( 45, y ); cout << tab[ j ].pojemnosc; gotoxy( 60, y ); cout << tab[ j ].cena << endl; }
Tyle kodu chyba wystarczy dla rozpoznania. Z góry dziękuję za pomoc. |
|
pekfos |
» 2015-02-03 12:56:48 Przypisuj do siebie całe obiekty struktury, a nie tylko rocznik. Najlepiej użyj std::swap() do zamiany elementów. |
|
oem Temat założony przez niniejszego użytkownika |
» 2015-02-03 13:11:52 A mógłbyś jakoś jaśniej mi to opisać, bo jak mówiłem mam nikłe pojęcie o cpp, dopiero się uczę. |
|
pekfos |
» 2015-02-03 13:17:41 std::swap( tab[ N ], tab[ M ] );
I wcześniej ustal indeksy N, M elementów do zamienienia. |
|
« 1 » |