Funkcje - pierwsze starcie - problem z losowością liczb w zadaniu
Ostatnio zmodyfikowano 2016-03-20 17:49
| glonorost Temat założony przez niniejszego użytkownika | Funkcje - pierwsze starcie - problem z losowością liczb w zadaniu » 2016-03-19 14:01:06 Witam, rozpocząłem korzystanie z kursu (rewelacyjna sprawa), ale natknąłem się na jeden problem, którego nie jestem w stanie rozwiązać. Cała sprawa rozchodzi się o ostatnie zadanie w lekcji http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-pierwsze-starcie/291 . Nie jestem w stanie zmusić programu, żeby "wypluł" różne losowe liczby, mimo zastosowania srand ( time(NULL) );. Za każdym razem wyświetlane są dokładnie te same cyfry.  Uprzejmie proszę o wskazanie błędu.  Z góry dzięki i pozdrawiam. #include <iostream>#include <cstdlib>
 #include <ctime>
 using namespace std;
 
 int wylosuj( int begin, int end )
 {
 srand( time( NULL ) );
 int zakres = end - begin;
 int los = 0;
 los =( rand() % zakres ) + begin;
 return los;
 }
 int main()
 {
 srand( time( NULL ) );
 cout << "Poczatek zakresu: ";
 int start = 0;
 
 do
 {
 cin.clear();
 cin.sync();
 cin >> start;
 }
 while( cin.fail() );
 
 cout << endl << "Koniec zakresu: ";
 int stop = 0;
 do {
 
 do {
 cin.clear();
 cin.sync();
 cin >> stop;
 if( stop < start )
 {
 cout << endl << "Koniec zakresu musi byc wiekszy niz poczatek. ";
 }
 }
 while( cin.fail() );
 
 }
 while( stop < start );
 
 int ile = 20;
 do
 {
 cout << endl << wylosuj( start, stop );
 ile--;
 } while( ile > 0 );
 
 return 0;
 }
 | 
|  | 
| carlosmay | » 2016-03-19 15:58:05 | Nie jestem w stanie zmusić programu, żeby "wypluł" różne losowe liczby, mimo zastosowania srand ( time(NULL) );. | 
 srand( time( NULL ) );  dajemy tylko raz przed pierwszym losowaniem (nie w pętli), np. na początku  main() . | 
|  | 
| glonorost Temat założony przez niniejszego użytkownika | » 2016-03-20 17:49:38 Dziękuję za pomoc. Wydawało mi się, że początkowo tak robiłem i dopiero później powieliłem to polecenie, ale chyba jednak wcześniej coś zepsułem. Teraz wszystko działa jak powinno :) | 
|  | 
| « 1 » |