Program szeregujący liczby
Ostatnio zmodyfikowano 2014-11-01 16:07
lectre Temat założony przez niniejszego użytkownika |
Program szeregujący liczby » 2014-11-01 14:22:21 Witam. Chcę napisać program, który losuje liczby, wyświetla je, a następnie wyświetla je od największej do najmniejszej. Napisałem pierwszą część, drugą próbowałem, ale nawet jeśli mam pomysły to są one brzydkie i nie podoba mi się taki niechlujny program. Zamiast gotowego rozwiązania poprosiłbym o mniej lub bardziej szczegółowe wskazówki. Oto kod: #include <iostream> #include <ctime> #include <cstdlib> using namespace std; int ilosc = 10;
int najmniejsza( int x[] ) { int najm = x[ 0 ]; int miska[ ilosc ]; for( int i = 0; i < ilosc; i++ ) if( najm > x[ i ] ) najm = x[ i ]; return najm; }
int main() { srand( time( NULL ) ); int x[ ilosc ]; for( int i = 0; i < ilosc; i++ ) { x[ i ] = rand() % 10; cout << x[ i ] << " "; } }
|
|
szymeczek31 |
» 2014-11-01 14:56:08 Ten algorytm przerób - Sortowanie bąbelkowe. Wyświetl potem od nowego wiersza po posortowaniu czy jak tam chcesz. A jak chcesz chlujnie to wczytaj wszystko w stringa i wyswietl w MessageBox() ;). Bedzie kreatywniej :D |
|
lectre Temat założony przez niniejszego użytkownika |
» 2014-11-01 16:07:19 Edit: Poprzednią wersję usunąłem, wiem gdzie tkwił błąd. Teraz program działa, jednak tylko dla pierwszych 3 bądź 4 liczb. Mógłby ktoś poprawić, aby działał? #include <iostream> #include <ctime> #include <cstdlib> using namespace std; int ilosc = 10;
int najmniejsza( int x[], bool tab[] ) { int najm = x[ 0 ] + 10; for( int i = 0; i < ilosc; i++ ) if( najm > x[ i ] && tab[ i ] == false ) { tab[ i ] = true; najm = x[ i ]; } return najm; }
int main() { bool spr[ ilosc ]; for( int i = 0; i < ilosc; i++ ) spr[ i ] = false; srand( time( NULL ) ); int x[ ilosc ]; for( int i = 0; i < ilosc; i++ ) { x[ i ] = rand() % 10; cout << x[ i ] << " "; } cout << endl; for( int i = 0; i < ilosc; i++ ) { cout << najmniejsza( x, spr ) << " "; } }
Ps. Za rozwiązanie kolegi na górze dziękuję, ale nie skorzystam. Chcę bazować tylko na wiedzy, którą do tej pory posiadam. |
|
« 1 » |