Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Zufallsgenerator unter SUSE Linux???

Chronolus / 3 Antworten / Baumansicht Nickles

Hi. Ich versuche gerade mit ein paar Freunden einen Zufallsgenerator unter SUSE Linus zu basteln, aber ich schaffe es einfach nicht. Wir haben zwar einen hinbekommen, aber der brauch immer eine Sekunde Zeit, bevor sich der Wert ändert. Aber ich will möglichst große Datenmengen in kurzer Zeit abarbeiten. Mit dem Zufallsgenerator würde das also Stunden dauern, bevor ich ein Ergebnis bekomme.

Hat vielleicht einer von euch eine Idee?
Danke im vorraus.

bei Antwort benachrichtigen
mr.escape Chronolus „Zufallsgenerator unter SUSE Linux???“
Optionen
http://www.answers.com/topic/dev-random
oder auch ganz klassisch z.b.:
static long lastrand = 1L;
void srand(unsigned int seed){
  lastrand = (long)seed;
}
int rand (){
  return(((lastrand = lastrand * 214013L + 2531011L) >> 16) & 0x7fff);
}

und für wechselnde startwerte irgendwo dann
srand((unsigned int)time( NULL ) );

rand() und srand() sollten aber in jeder entwicklungsumgebung vorhanden sein, evtl. mit einem anderen namen aber fehlen wird das wohl nirgendwo.

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Chronolus mr.escape „http://www.answers.com/topic/dev-random oder auch ganz klassisch z.b.: static...“
Optionen

Danke für die Antwort, aber einer meiner Freunde hat es jetzt doch hinbekommen.
Und zwar folgendermaßen:

main()
{
....
srand(getpid());
....
}
und in der Methode:
{
int zufallswert = rand() % 50; // Übergibt einen Wert zwischen 0 und 50 an zufallswert
....
}

Trotzdem Danke.

bei Antwort benachrichtigen
mr.escape Chronolus „Danke für die Antwort, aber einer meiner Freunde hat es jetzt doch hinbekommen....“
Optionen
Danke für die Antwort, aber einer meiner Freunde hat es jetzt doch hinbekommen.
In der guten halben stunde? ;)

int zufallswert = rand() % 50; // Übergibt einen Wert zwischen 0 und 50 an zufallswert
Zwischen 0 und 49!

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen