Sortowanie liczb
Ostatnio zmodyfikowano 2015-10-22 23:00
danielpadewski Temat założony przez niniejszego użytkownika |
Sortowanie liczb » 2015-10-22 15:34:59 Witam. Napisałem prostą funkcje sortującą liczby od największej do najmniejszej #include <iostream> using namespace std; int main() { int tab[ 5 ], liczby[ 5 ]; int licznik; tab[ 0 ] = 3; tab[ 1 ] = 100; tab[ 2 ] = 10; tab[ 3 ] = 8; tab[ 4 ] = 4; for( int i = 0; i < 5; i++ ) { licznik = 0; for( int j = 0; j < 5; j++ ) { if( tab[ i ] < tab[ j ] ) { licznik++; } } liczby[ licznik ] = tab[ i ]; } for( int y = 0; y < 5; y++ ) { cout << liczby[ y ] << endl; } return 0; }
program dziala dobrze , niestety nie wiem jak zrobic zeby program zapisywal liczby do tablicy wtedy kiedy są np 2 równe sobie liczby. Jeśli zrobię coś takiego if( tab[ i ] <= tab[ j ] ) to są nie prawidłowe wyniki |
|
wojownik266 |
» 2015-10-22 15:49:50 Może by tak zmienić warunek w instrukcji if na taki if( tab[ i ] == tab[ j ] ) . |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2015-10-22 15:52:27 taki zapis oznaczałby że jeśli liczby są sobie równe to wtedy dopiero są zapisane do tablicy |
|
carlosmay |
» 2015-10-22 16:21:01 program dziala dobrze , niestety nie wiem jak zrobic zeby program zapisywal liczby do tablicy wtedy kiedy są np 2 równe sobie liczby. |
Czyli nie działa dobrze ;) Wyszukuj maks i kopiuj do kolejnych elementów tablicy. Algorytmy sortujące |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2015-10-22 16:24:06 Prawie każdy program można rozwiązać na wiele sposobów. Zanim napisałem ten kod głowiłem się nad kodem w którym wyszukuje max i potem porównuje do innych liczb. Mam zamiar napisać również i taki kod ale w chwili obecnej chciałbym wiedzieć dlaczego nie można w instrukcji warunkowej dać == ? |
|
carlosmay |
» 2015-10-22 16:41:04 Użyj debugera i prześledź co się dzieje w programie. Gdy masz dwie takie same, licznik raz nie dolicza więc masz jedno niezapełnione miejsce, natomiast dla <= nadpisujesz te same wartości i też powstają niezapisane elementy. |
|
danielpadewski Temat założony przez niniejszego użytkownika |
» 2015-10-22 17:30:57 a propo debugera to jak go uruchomic ? kiedy rizwijam "pasek" to żadnej opcji nie mam dostępnej , w opcjach wydaje mi sie ze wszystko jest ok |
|
carlosmay |
» 2015-10-22 18:13:58 Ustaw breakpoint'a w linii, w której chcesz zatrzymać działanie programu i uruchom go w trybie debugowania. |
|
« 1 » 2 |