Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: Zufallszahl ziehen ohne wiederholung

  Alt 7. Feb 2009, 10:41
Hallo zusammen,

auch wenn es schon Lösungen gibt, so möchte ich für die genannte Anforderung auf die Umsetzung in Form eines boolschen Array hinweisen.
Für einen Lottogenerator hatte ich es mal wie nachfolgend zu sehen umgesetzt.

Delphi-Quellcode:
procedure TForm1.Btn1Click(Sender: TObject);
var lAb_Anzahl_Werte_Depot: Array[1..49] of Boolean;
     i, Zufallszahl: Integer;
begin
  for i:= 1 to 49 do lAb_Anzahl_Werte_Depot[i]:=false;
  for i:=1 to 6 do begin
   repeat
    Zufallszahl:=random(49)+1
   until lAb_Anzahl_Werte_Depot[Zufallszahl] = false;
   lAb_Anzahl_Werte_Depot[Zufallszahl]:=true;
  end;
  Edit1.Text:='';
  for i:=1 to 49 do
   if lAb_Anzahl_Werte_Depot[i] then Edit1.Text:= Edit1.Text + ' ' + Inttostr(i) + ' ';
end;
Hiermit hat man die 2 Eigenschaften welche benötigt werden (Anzahl von Werten und den boolschen Wert ob schon "gezogen" oder nicht).
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat