Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
ZUFALLSZAHLEN in C(++) sind immer gleich

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
weissi



Anmeldungsdatum: 24.03.2001
Beiträge: 40
Wohnort: Freiburg

BeitragVerfasst am: 19. Mai 2001 11:11   Titel: ZUFALLSZAHLEN in C(++) sind immer gleich

Hallo, ich habe ein riesiges Problem:
Ich muss ein Programm schreiben, welches mit Zufallszahlen arbeitet, wenn ich das Programm aber starte, sind die Zufallszahlen bei jeder Ausführung gleich!!!
Wer hat eine Lösung (dringend)???

Hier ein Quellcode, der bei mir immer das gleiche leifert:
#include <stdio.h>
#include <stdlib.h>

main() {
int myrand;
int i;
for (i=0; i<10; i++) {
myrand=1+(int) (10.0*rand()/(RAND_MAX+1.0));
printf ("%d
", myrand);
}
return 0;
}

Ausgabe immer:
sh-2.04$ ./test2
9
4
8
8
10
2
4
8
3
6
sh-2.04$ ./test2
9
4
8
8
10
2
4
8
3
6
sh-2.04$ ./test2
9
4
8
8
10
2
4
8
3
6
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

stderra
Gast





BeitragVerfasst am: 19. Mai 2001 12:36   Titel: Re: ZUFALLSZAHLEN in C(++) sind immer gleich

Keine Panik, das ist normal, da die Zahlen immer nur vom eigenen Prozess abhaengen, der ja immer gleich ist. Du kannst aber unterschiedliche Startwerte vorgeben, und diese z.B. von der Systemzeit abhaengig machen, indem du folgendes an den Anfang deines Progs schreibst:

#include <time.h>

srand(time(NULL));

oder so aehnlich, guck mal unter 'man srand'.



stderra
 

weissi



Anmeldungsdatum: 24.03.2001
Beiträge: 40
Wohnort: Freiburg

BeitragVerfasst am: 19. Mai 2001 12:57   Titel: Re: ZUFALLSZAHLEN in C(++) sind immer gleich

Hallo, danke für die schnelle Antwort, ich werds gleich mal probieren Smile)
(Das Programm muss bis Montag fertig werden)
Weissi
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

cp
Gast





BeitragVerfasst am: 19. Mai 2001 18:02   Titel: Re: ZUFALLSZAHLEN in C(++)

musst du es für irgendeine uni erlangen? opps ich meine fertig machen? So System Programmierung oder so? Wink
 

aby
Gast





BeitragVerfasst am: 23. Mai 2001 10:57   Titel: Re: ZUFALLSZAHLEN in C(++) sind immer gleich

Hm, ich musste auch mal was mit Zufallszahlen machen, und hatte das Problem, dass der Rechner so schnell war, dass
er für ca. 30 Iterationen den selben Zeitwert genommen hat.
Mich würde hierbei interessieren, ob man irgendwie auf den "Milli/Nano-Sekunden"-Bereich zugreifen kann, oder eine
"Verlangsamung" der Programm ausführung, natürlich ohne scanf() einbauen kann.
Danke Gruss aby
 

Jürgen Wolf
Gast





BeitragVerfasst am: 24. Mai 2001 15:47   Titel: Re: ZUFALLSZAHLEN in C(++) sind immer gleich

[...]den "Milli/Nano-Sekunden"-Bereich zugreifen kann[...]

Mit nanosleep()

MfG
Jürgen Wolf
 

das



Anmeldungsdatum: 22.01.2001
Beiträge: 78
Wohnort: 42369 Wuppertal

BeitragVerfasst am: 24. Mai 2001 22:59   Titel: Re: ZUFALLSZAHLEN in C(++) sind immer gleich

> Hm, ich musste auch mal was mit Zufallszahlen machen,
> und hatte das Problem, dass der Rechner so schnell war, dass
> er für ca. 30 Iterationen den selben Zeitwert genommen hat.

Der Trick ist, daß man srand() nur einmal (am Anfang des Programms) aufruft...
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy