Losowanie bez powtórzeń: Rozdział 21. Program działa jak trzeba, ale mam wątpliwości czy jest dobrze napisany?
Ostatnio zmodyfikowano 2014-10-28 15:54
joinzbozin Temat założony przez niniejszego użytkownika |
Losowanie bez powtórzeń: Rozdział 21. Program działa jak trzeba, ale mam wątpliwości czy jest dobrze napisany? » 2014-10-27 22:43:27 #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wczytajLiczby(int ile, int tablica[]) {
for( int indeks = 0; indeks < ile; indeks++) { cin>>tablica[indeks]; } } void losowanie(int ile, int tablica[]) { int liczby[7]; int licznik=0; srand(time(NULL)); do { int losowana=(rand()%100); liczby[licznik]=losowana; if (tablica[licznik]==losowana||losowana!=liczby[licznik]) { cout<<losowana<<endl; licznik++;} }while(licznik<ile); }
int main() { int tablica[10]; wczytajLiczby(10,tablica); losowanie(8,tablica); return 0; }
|
|
Rashmistrz |
» 2014-10-28 15:54:38 mam wątpliwości czy jest dobrze napisany? |
Z pewnością tak, bo byś nie wstawiał go tu nie mając wątpliwości. O_o Program źle działa... Zawsze losuje pierwsze osiem podanych liczb. Przenieś srand( time( NULL ) ); na początek maina z tamtej funkcji. EDIT: Popraw funkcję losowanie, bo to w niej jest problem. |
|
« 1 » |