2012-04-14 12 views
0

Ich erzeuge Zufallszahlen mit srand (Zeit (NULL)). Irgendeine Idee warum es immer nur gerade Zufallszahlen gibt? In meinem Fall gibt es so. Bitte helfen, ich brauche auch ungerade Zahlen. Ich brauche den Satz von 0s, 1s. für zB: {1,1,0,0,1,0,0,0,1,1,0}Zufallszahlengenerator mit einem Seed

+5

Nicht ohne den Code zu sehen, den Sie verwenden. –

+0

Sie machen etwas falsch. Bitte zeigen Sie uns Ihren Code. –

+2

Srand (Zeit (NULL)) ist nur ein Samen. Zeigen Sie uns Ihren Code, wo die Funktion rand() Zahlen zuweist. – ScarletAmaranth

Antwort

0

man denke an die PRNG Initialisierung wie eine Variable initialisiert ... Sie tun nicht

// pseudo-code 
// print numbers from 1 to 10 
do 10 times 
    number_to_print = 1 
    print number_to_print 
    number_to_print++ 
end loop 

Ebenso sollte srand() nur einmal pro Programmlauf aufgerufen werden.

call srand() // initialize PRNG 
loop 
    rand() 
end loop 
3

Anruf

srand(time(NULL)); 

nur einmal am Anfang des Programms, es "mischt" die Zufallssequenz.

nennen Dann

rand(); 

Und es wird eine Zahl im Bereich 0-RAND_MAX zurückzukehren.

Wenn Sie nur 0 oder 1 ist, dann können Sie versuchen, mit

int n = rand() % 2; 

oder

int n = rand() & 0x01; 
+0

Danke, es hat sofort funktioniert. –

Verwandte Themen