Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Funkcje - pierwsze starcie - problem z losowością liczb w zadaniu

Ostatnio zmodyfikowano 2016-03-20 17:49
Autor Wiadomość
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.

C/C++
#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;
}
P-146201
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()
.
P-146208
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 :)
P-146285
« 1 »
  Strona 1 z 1