Problem z liczbami pseudolosowymi
Ostatnio zmodyfikowano 2016-10-16 22:49
mkpplayer Temat założony przez niniejszego użytkownika |
Problem z liczbami pseudolosowymi » 2016-10-16 19:54:33 Mam problem ponieważ staram sie napisać program który nie powtorzy liczby po wylosowaniu. niestety nieskuteczni. #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int los() { return( rand() % 5 ) + 1; } bool spr( int tab[], int liczba, int ile ) { if( ile <= 0 ) return false; int i = 0; do { if( tab[ i ] == liczba ) return true; i++; } while( i < ile ); return false; }
int main() { srand( time( 0 ) ); int tab[ 5 ]; int i = 0; int ile = 0; do { int liczba = los(); if( spr( tab, liczba, ile ) == false ) { tab[ i ] = liczba; i++; } } while( i < 5 ); i = 0; do { cout << tab[ i ] << endl; i++; } while( i < 5 ); return 0; }
|
|
michal11 |
» 2016-10-16 21:10:01 Twoje ile jest zawsze równe zero więc zawsze sprawdzasz tylko pierwszy element tablicy. |
|
mkpplayer Temat założony przez niniejszego użytkownika |
» 2016-10-16 22:05:08 Wiem że jest. Wziąłem to z kursu. Liczyłbym bardziej na pomoc co należy zmienic aby program działał poprawnie ;)
|
|
michal11 |
» 2016-10-16 22:34:41 Tak modyfikuj wartość ile żeby zawsze odpowiadała faktycznej ilości liczb w tablicy. |
|
mkpplayer Temat założony przez niniejszego użytkownika |
» 2016-10-16 22:49:58 Dzięki za trafną uwagę :)
|
|
« 1 » |