Re: Werte für das C'sche srand()

Michael Wenger <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hi Ferdinand!

Ferdinand Ihringer schrieb am 12.10.2004 23:35 :
> On Tuesday 12 October 2004 22:21, Bernhard Walle wrote:
> 
>> * Ferdinand Ihringer [2004-10-12 22:08]:
>> 
>>> Ich habe ein Problem mit Zufallszahlen bzw. ein Problem mit dem 
>>> Ausgangswert für Pseudozufallszahlen mit srand(). Das Programm
>>> sollte plattformunabhängig sein und ich würde mich gerne auf die
>>> zum ANSI-Standard gehörenden Funktionen beschränken, aber für
>>> statistische Zwecke rufe ich es z.B. 10000 mal hintereinander
>>> auf.
>> 
>> PID auslesen (getpid() unter POSIX) geht auch nicht? Ansonsten kann
>>  man auch uninitialisierte Variablen vom Stack auslesen, geht
>> natürlich aus jeder Plattform. ftime() wäre auch POSIX, aber eben
>> nicht ANSI C.
> 
> Zu den uninitialisierten Variablen: Also wenn ich uninitialisierte
> Variablen bei mir abfrage, kommt zumindest kurz hintereinander per
> Hand immer der selbe Wert, genauso wie der Speicherplatz der selbe
> ist. Oder habe ich da etwas missverstanden?

Das ist schon klar, da dieser Speicherplatz ja nicht unebedingt in der 
Zwischenzeit überschrieben wird.
Um eine (Pseudo-)Zufallsreihe zu generieren, brauchst du aber nur einen 
Seed, den du bei der Initialisierung von srand angibst. Alle anderen 
Zufallszahlen werden auf dieser Basis generiert.
Wenn du dennoch mehrere Seeds brauchen solltest (um z.B. mehrere 
unabhängige Zufallsreihen zu generieren), kannst du auch ein 
uninitialisertes Array verwenden.

Gruß,
Michael

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.