2.21 Problem z losowaniem bez powtórzeń.
Ostatnio zmodyfikowano 2018-04-11 16:15
bulidomex321 Temat założony przez niniejszego użytkownika |
2.21 Problem z losowaniem bez powtórzeń. » 2018-04-11 14:42:17 Program ma nam wylosować 5 liczb bez powtórzeń. Liczby wylosowane mają być z przedziału od 1 do 10. Nie wiem dlaczego program czasami dobrze działa, czasami wypisuje zera w tablicy. Np czasem wyolsuje 6 2 3 4 5 , czasem 2 3 0 0 0. Nie rozumiem dlaczego :P bool sprawdzenie( int liczba, int * tablica ) { if( tablica[ 0 ] == liczba || tablica[ 1 ] == liczba || tablica[ 2 ] == liczba || tablica[ 3 ] == liczba || tablica[ 4 ] == liczba ) { return false; } else { return true; } } int main() { srand( time( 0 ) ); cout << "Program przystapi do losowania liczb" << endl; int tablica[ 5 ]; int los = 0; int licznik = 0; for( unsigned i = 0; i < 5; i++ ) { tablica[ i ] = 0; } do { int liczba = rand() %( 10 - 1 + 1 ) + 1; do { if( sprawdzenie( liczba, tablica ) == true ) { tablica[ los ] = liczba; licznik++; } } while( tablica[ licznik ] = 0 ); los++; } while( los <= 5 ); for( unsigned i = 0; i < 5; i++ ) { cout << tablica[ i ] << " "; } return 0; }
|
|
pekfos |
» 2018-04-11 16:15:44 |
|
« 1 » |