PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zufall


mega-brain
03.08.2002, 21:25
Hallo Leute !!
Ich bin ganz neu hier also erst mal ein Hallo an alle!!!!

Nun meine Frage:

Ich möchte gerne so was wie ein Zufallsgenerator in mein Prog. einbauen der immmer 10 verschieden Zahlen ausgibt. Wie machte ich das ?

:)


mega-brain
03.08.2002, 21:55
nein es wäre besser wenn ich 10 Genertoren die eine Zahle ausgeben hätte.


Also wenn so was geht sag mir mal einer bitte wie so was geht

Felix Kaiser
04.08.2002, 00:18
10 Generatoren die bitte was? Drück dich mal ein wenig deutlicher aus (und keine Hektik beim schreiben) oder alternativ versuchs mal mit 'Deutsch für du' :D

In Pascal kannst du mit der Prozedur Randomize; die Werte für den Zufallsgenerator in Pascal auf aktuelle Werte aus Systemdatum & -Zeit setzen und mit der Funktion Random dann einen Zufallswert berechnen lassen.

mega-brain
04.08.2002, 11:40
Also ok

Noch mal von vorne

Mein Problem ist das ich eine Lange Zahl (10 Ziffern) per Zufall erstellen will. Ich muss aber mit jeder Ziffer was anderes machen.

Wie geht so was ?

:?

Felix Kaiser
04.08.2002, 14:16
function RandomLong: longint;
var
Zahl: longint;
i: integer;
begin
Zahl:= Random(2)+1;
for i:= 1 to 9 do Zahl:= Zahl*10+Random(10);
RandomLong:= Zah;
end;

Damit würdest du eine beliebige 10stellige Zahl erstellen.

DerWolf
04.08.2002, 16:18
RandomLong:= Zah;
bitte so: RandomLong:= Zahl;
;)
wär nich besser anstatt:
Zahl:= Random(2)+1;
zu schreiben:
Zahl:= Random(9)+1;
oder hab ich da was net kapiert?
unds Randomize am Programmanfang net vergessen ;) sonst sind bei jedem Programmstart die selben Zufgallszahlen.

Lord_Otter
04.08.2002, 17:28
Normalerweise hast du Recht.
So kommen nur Zaheln zwischen 1000000000 und 299999999 raus.
Aber Longint kann die Zahl 3000000000 und größer nicht mehr korrekt speichern.
Der Wertebereich geht ja nur von -2147483648 bis
+2147483637.

DerWolf
04.08.2002, 17:34
na des wusst ich net :)

Diogenes
07.08.2002, 19:00
Wenn man echte Zufallszahlen erzeugfen will, ist es von Vorteil, nach User-Aktionen (Programmstart, Mausklick, Eingaben usw.) die Prozedur Randomize aufzurufen. Die initialisiert den Pseudo-Zahlengenerator Random mit einer aus der Systemzeit errechneten Zahl.
Da User-Aktionen auch ( :mauer: ) zeitlich nicht vorhersagbar sind, werden die Zufallszahlen echt echt!

Felix Kaiser
07.08.2002, 21:45
Der errechnet keinen Startwert. Der ruft die DOS Funktion für Get Date/Time auf und schreibt die beiden Words in die beiden Startwert Words, die bei Programmstart auf 0 initialisiert sind :)

Kleiner Tipp im Bezug auf Benutzeraktionen: Einfach die Eingabe IRQs (1,3,4,12) hooken, obwohl das bei PS/2 Mäusen (IRQ12) nicht gerade Sinn macht.