Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: random in c++ geeft iedere keer dezelfde waarden.  (gelezen 1778 keer)

Offline bart85

  • Lid
random in c++ geeft iedere keer dezelfde waarden.
« Gepost op: 2018/03/03, 14:05:54 »
Met onderstaande probeer ik een random tussen 0 tot n te geven. Het geeft wel random een waarde. Start ik het programma daarna opnieuw dan geeft het waarden in dezelfde volgorde. Het word gebruikt in een quiz. Met random wil ik willekeurig een vraag stellen. Gewoon woordjes overhoren.
pVragenlijst = new int [n]; //lijst van overige nummers van het gevraagde woord.
for(int i=0;i<n;i++){
pVragenlijst[i]=i;
//is hier gedeclareerd.
r = rand() %n;
//verwijdert element n van pVragenlijst.
//decrement n
Relying on complex tools to manage and build your system is going to hurt the end-users. [...] "If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding.

— Aaron Griffin

Offline bart85

  • Lid
Relying on complex tools to manage and build your system is going to hurt the end-users. [...] "If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding.

— Aaron Griffin

Offline niekn

  • Lid
    • omega-xis
Re: random in c++ geeft iedere keer dezelfde waarden.
« Reactie #2 Gepost op: 2018/03/13, 09:07:46 »
Hier staat wat er moet worden verbeterd:
https://stackoverflow.com/questions/9459035/why-does-rand-yield-the-same-sequence-of-numbers-on-every-run

jup random heeft een "seed" nodig om daadwerkelijk random te zijn (anders is t gewoon een berekening).
in dit voorbeeld wordt de systeemklok als seed gebruikt, bij mij op werk programmeren we een systeem dat geen hardwareklok heeft, wij halen dus onze seed uit metingen elders in t systeem.
https://en.wikipedia.org/wiki/Random_seed