webForumDet fria alternativet

srand.. what is that..?

2 svar · 368 visningar · startad av Leeson

LeesonMedlem sedan dec. 200313 inlägg
#1

har fått en uppgift i skolan om att vi ska använda en funktion
srand .... vad är det för nått..?

PhorpherMedlem sedan feb. 20002 300 inlägg
#2

srand används för att sätta ett "frövärde" (seed). Detta frövärde användes vid slumptalsgenerering.

Förenklat kan man säga att slumptal i datorer är egentligen inte riktiga slumptal. De genereras med en typ av algoritm och räknar ut ett nytt slumptal baserat på det föregående slumptalet. srand används för att sätta detta första värde.

Ofta brukar man skicka in tiden som en parameter till srand:

srand(time(NULL)); // seed:a
Aleph_OneMedlem sedan juni 2003372 inlägg
#3

srand kan användas för att ge bättre slumptal. Kör man rand() utan att först ha satt seeden med srand så blir det samma varje gång.
Kör det här programmet 2 ggr så ser du vad jag menar.

#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;

int main()
{
	cout << rand() << endl;
	srand(time(0));
	cout << rand() << endl;
	
    return 0;
}

/r
Var tydligen inte tillräckligt snabb där

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)