Sortowanie bąbelkowe
Ostatnio zmodyfikowano 2015-10-15 22:31
snajperek130 Temat założony przez niniejszego użytkownika |
Sortowanie bąbelkowe » 2015-10-14 23:13:19 Witam, mam problem z sortowaniem bąbelkowym. Otóż mam 2 klasy, jedna to klasa Towar, druga klasa Hurtownia, w której mam tablice klasy Towar. Sortowanie: void Hurtownia::sortuj() { Towar pom; for( int i = 0; i < 10; i++ ) { for( int j = 0; j < 10 - i - 1; j++ ) { if( towar[ j++ ].cena_netto > towar[ j ].cena_netto ) { pom = towar[ j ]; towar[ j ] = towar[ j + 1 ]; towar[ j + 1 ] = pom; } } } }
Pozniej wypisuje i niestety sortowanie nie dziala. Prosze o pomoc w tej sprawie, myslalem cos o operatorze przypisania, ale jesli sie nie zdefiniuje swojego operatora, to dziala domyslny, czyli skladnik po skladniku prawda?? Wiec powinno dzilac :/. |
|
michal11 |
» 2015-10-14 23:36:29 towar[ j++ ]. Jesteś pewny, że chcesz dokładnie w tym miejscu zwiększać wartość j a nie po prostu porównywać j z j+1 ? |
|
mateczek |
» 2015-10-15 00:09:30 zainteresuj się debuggerem i prześledź Krokowo swój algorytm (na pewno sam znajdziesz niedopatrzenie). A jak Ci się znudzi to możesz wyposażyć klasę towar w operator > bool operator <( const towar & a ) { return( this->cena < a.cena ); } bool operator >( const towar & a ) { return( this->cena > a.cena ); }
zamiast tablicy użyć kontenera vector < towar > kontener;
i wówczas twoja funkcja sortuj będzie wyglądała tak sort( kontener.begin(), kontener.end() );
|
|
snajperek130 Temat założony przez niniejszego użytkownika |
» 2015-10-15 07:08:36 dzieki, bede sie bawil :) |
|
snajperek130 Temat założony przez niniejszego użytkownika |
» 2015-10-15 22:31:43 |
|
« 1 » |