Srand-losowanie

0

mam taki kod

    srand ((int) time(NULL));
    int nWylosowana1 = rand() % 46 + 1;

    srand ((int) time(NULL));
    int nWylosowana2 = rand() % 46 + 1;

    srand ((int) time(NULL));
    int nWylosowana3 = rand() % 46 + 1;

i mam taki problem że losuje mi wszystkie trzy liczby takie same a mi jest potrzebne by każda byla inna :-(
Pomoże ktos ??

0

rand to prost generator przyrostowy, za każdym razem jako ziarno podajesz mu aktualny czas w milisekundach... a różnica w czasie jest na poziomie kilkudziesięciu cykli procesora. Co z tego wynika? Przed każdym losowaniem podajesz takie samo ziarno, stąd taki sam wynik.
Zostaw tylko pierwsze wywołanie srand, pozostałe usuń i będzie dobrze...

0

kazda inna:>>

srand ((int) time(NULL));

int nWylosowana1 = rand() % 46 + 1;
int nWylosowana2 = rand() % 46 + 1;
int nWylosowana3 = rand() % 46 + 1;
cout<<nWylosowana1<<" "<<nWylosowana2<<" "<<nWylosowana3;

//jak widzac rozniac miedzy losowaniami do poszczegolnych zmiennych teraz jest inna a nie jak wczesniej

0

gwezezale - a czym to sie rozni od tego co mowil deus? mianowicie:

deus napisał(a)

Zostaw tylko pierwsze wywołanie srand, pozostałe usuń i będzie dobrze...

:)

0

o kurna ;-P >sorry<(przeoczyłem)

0

Dzięki wszystkim za pomoc teraz już jest wszystko tak jak chciałem ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1