Podobny problem był poruszany w wielu miejscach na różnych stronach ale nie znalazłem tam rozwiązania. Korzystam z kodu:
- Kod: Zaznacz cały
int randint=0;
srand(time(NULL));
for(int i=0; i <20; i++)
{
randint=rand()%100;
cout<<randint<<" ";
}
Wszystko działa ok jeśli powyższa pętla jest w main lub bezpośrednio w funkcji. Niestety jeśli utworze funkcję:
- Kod: Zaznacz cały
int GenJednaWartosc(int granica_przedzialu)
{
int randint=0;
srand(time(NULL));
randint=rand()%granica_przedzialu;
return randint;
}
i wywołam ją 4 razy po sobie w main to za każdym razem wartość jest taka sama. Nie wiem dlaczego - jeżeli w tym samym miejscu umieszczę taka pętle jak na początku postu działa ok, podobnie taka sama pętla w funkcji również generuje różne wartości - problem powstaje tylko w przypadku wywołania funkcji. Sprawdzałem również przeniesienie srand przed wywołanie funkcji - nie pomogło.
Z góry dziękuję za pomoc.
Pozdrawiam,
Android