Thema: Delphi random

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: random

  Alt 1. Jul 2005, 12:10
Hallo Adela,

die Funktion Random() ist zwar ganz nützlich für das Ziehen der Lottozahlen, aber alleine schafft sie das dann doch nicht. Die Funktion Random() garantiert dir über einen ausgeklügelten mathematischen Ansatz eine ausreichend gute Gleichverteilung der Funktionswerte bei entsprechend großen Stichproben, aber sie garantiert dir keine Duplikatfreiheit bei den ersten 6 Werten.

Du wirst dir etwas überlegen müssen, damit bei der Ziehung der zweiten Zahl die erste nicht wieder Teil der Ziehungsmenge ist.

Grüße vom marabu


Ein Beispiel:

Delphi-Quellcode:
type
  TOddSet = set of byte;

var
  Ziehung: TOddset;

procedure Draw(count, total: byte; var oddSet: TOddSet);
begin
  oddSet := [];
  while SizeOf(oddSet) < count do
    oddSet := oddSet + [Succ(Random(total))];
end;
  Mit Zitat antworten Zitat