Einzelnen Beitrag anzeigen

Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#22

Re: Random zwischen zwei Zahlen

  Alt 12. Nov 2003, 22:44
Hallo!

@Silent: zum n+78631. Male: Das Randomize gehört nicht in die Zufalls-Ermittlungsprozedur, sondern wird nur einmal, z.B. im FormCreate, aufgerufen. Sonst gibt das merkwürdige Effekte!

Hintergrund: durch Randomize wird der Pseudo-Zufallsgenerator mit der Uhrzeit initialisiert. Bei gleicher Uhrzeit und gleichem Intervall liefert Random auch den gleichen "Zufalls"-Wert!

Deshalb hat man bei
Delphi-Quellcode:
var
  feld:Array [ 1 .. 10 ] of Integer;
  lauf:Integer
...
for lauf := 1 to 10 do
begin
  Randomize;
  feld[lauf]:=Random(50);
end;
zu fast 100% alle Array-Elemente auf demselben Wert oder erhält in den ersten Elementen einen Wert und danach im Rest den nächsten, weil der Zeitwechsel dazwischen lag (ich weiß jetzt nicht, wie genau Delphi die Uhrzeit benutzt).

Nebenbei ist es natürlich Quatsch, solange zu würfeln, bis das Ergebnis paßt. Da haben wir bei der berühmten "Ziehung der Lottozahlen" ja schon ausreichend Erfahrung mit doppelten Zahlen und ihrer Vermeidung.

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat