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 304 keer)

Offline bartveurink

  • Lid
  • Steunpunt: Nee
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


Offline niekn

  • Lid
    • omega-xis
  • Steunpunt: Nee
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