[Zadanie domowe] Losowanie bez powtórzeń - co jest źle?
Ostatnio zmodyfikowano 2012-07-27 14:09
mateo0604 Temat założony przez niniejszego użytkownika |
[Zadanie domowe] Losowanie bez powtórzeń - co jest źle? » 2012-07-19 17:42:05 Napisałem program który ma losować bez powtórzeń 5 liczb wygląda że jest wszystko dobrze ale nie chce się skompilować a nie mogę znaleść błędu
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int losowanie() { srand( time( NULL ) ); return( rand() % 10 ) + 1; } bool czyByla( int t[], int i ) { int j; for( j = 0; j < i; ++j ) { if( t[ i ] == t[ j ] ) { return true; } } return false; }
int main() { int t[ 5 ]; int i; for( i = 0; i < 5; ++i ) { do { t[ i ] = losowanie(); } while( czyByla( t[], i ) = true ); } cout << "wylosowane liczby: "; for( i = 0; i < 5; ++i ) { cout << t[ i ] << " "; } getchar(); getchar(); return 0; }
|
|
diego997 |
» 2012-07-19 17:45:41 może tutaj (czyByla(t[], i)=true); ? zamiast t[], t |
|
starter |
» 2012-07-19 17:54:55 W czyByla porównujesz if( t == t[ j ] ) co jest niedozwolone przez standard (Build Messages) #edit to jeden z wielu błędów |
|
kampar |
» 2012-07-19 18:04:52 srand( time( NULL ) );
powinno być tylko raz wywołane, na początku main() |
|
starter |
» 2012-07-19 18:38:02 |
|
Mufas |
» 2012-07-20 11:54:02 problem lezy chyba w srand(...), to powinno byc tylko raz na poczatku w mainie a ty to wywolujesz przy uzyciu petli kilka razy.
a co do getcharow, zamiast 2 moze na poczatku dolaczyc biblioteke conio.h i wtedy zamiast 2 getcharow() dajesz jeden getch(); |
|
mateo0604 Temat założony przez niniejszego użytkownika |
» 2012-07-20 13:45:52 muszę pisać 2 razy getchar bo inaczej program mi się od razu zamyka |
|
starter |
» 2012-07-20 14:19:25 na początku daj #include <conio.h> a na końcu powinno być dobrze |
|
« 1 » 2 |