Mailinglist Archive: opensuse-programming-de (187 mails)
| < Previous | Next > |
Re: Werte für das C'sche srand()
- From: Michael Wenger <onlymails@xxxxxxx>
- Date: Wed, 13 Oct 2004 00:27:44 +0200
- Message-id: <20041012222830.2662ABD71A@xxxxxxxxxxxxxxxxx>
Hi Ferdinand!
Ferdinand Ihringer schrieb am 12.10.2004 23:35 :
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
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
| < Previous | Next > |