Autor Beitrag
DelphiDelphin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 181



BeitragVerfasst: Mi 23.03.05 18:03 
Wie kann ich machen dass mit random(50) alle zahlen gleich viel mal pro 100 generiert werden? Mir kommt es nämlich so vor als ob manche zahlen bevorzugt werden. :roll:
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mi 23.03.05 18:07 
user profile iconDelphiDelphin hat folgendes geschrieben:
Wie kann ich machen dass mit random(50) alle zahlen gleich viel mal pro 100 generiert werden? Mir kommt es nämlich so vor als ob manche zahlen bevorzugt werden. :roll:


Zufallsgenerator arbeiten nicht wirklich zufällig; also treten die Zahlen auch nicht mit gleicher Wahrscheinlichkeit auf; wenn du das möchtest, kannst du ja mal schnell einen eigenen Zufallsgenerator schreiben... obwohl btw. auch bei einem "perfekten" Zufallsgenerator nicht alle Zahlen mit der gleichen Wahrscheinlichkeit auftreten ;)

AXMD

PS.: Randomize ;)
Fabian W.
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1766

Win 7
D7 PE
BeitragVerfasst: Mi 23.03.05 18:16 
In einem meiner Programme hatte ich das Problwm auch mal. Wie wäre es zwischen den verwendeten Zuweisungen immer ein paar andere Werte mit Randomize; Random(50); zuweisen zu lassen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var
x, z{wichtige Var}, y{Abwechslungs Var}: integer;
begin
randomize;
x := random(50);
randomize;
y := random(50);
randomize;
y := random(50);
randomize;
z := random(50);
end;


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Mi 23.03.05 20:32 
Wenn die Zahlen pro 100 immer gleich häufig vorkommen würden, dann wären sie erst recht nicht zufällig, sondern wären jeweils zufällige Permutationen von 2x 50 Zahlen zwischen 0 und 49! So eine Regelmässigkeit hätte wohl grössere Auswirkungen im Frequenzbereich (würde man dort vermutlich sehn).
:arrow: Ich denke es werden (keine von Auge sichtbare) Zahlen bevorzugt.... Beim Start des Programmes solltest du aber Randomize; aufrufen, sonst bekommst du bei jedem Programmstart immer die gleiche Folge!
Wie hast du die bemerkt? Welche Zahlen werden bevorzugt?
Matze!
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 24.03.05 17:23 
user profile iconFabi & Tobi hat folgendes geschrieben:
In einem meiner Programme hatte ich das Problwm auch mal. Wie wäre es zwischen den verwendeten Zuweisungen immer ein paar andere Werte mit Randomize; Random(50); zuweisen zu lassen.

Das ist Schwachsinn, Randomize sollte nur ein einziges Mal aufgerufen werden, am besten im OnCreate der Form.
Fabian W.
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1766

Win 7
D7 PE
BeitragVerfasst: Do 24.03.05 19:44 
Oh :shock:
Das war mir nicht bewusst. In einem Buch das ich gelesen habe stand, dass ich vor jeder random Funktion randomize aufrufen solle, damit ein neuer Zufallswert kommt :nixweiss: