Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: Effiziente Erzeugung, nicht gleicher Zufallszahlen

  Alt 10. Mai 2011, 15:48
Mal nochmal ein anderer Ansatz, bei dem die Überprüfung auf vorherige Werte schnell geht.

Delphi-Quellcode:
const obereGrenze = 20;
const Anzahl = 5;

procedure TForm1.Button1Click(Sender: TObject);
var
  Liste : Array of Integer;
  i,a : Integer;
begin
  Edit1.Text:='';
  SetLength(Liste,obereGrenze);
  Randomize;
  i:=0;
  while i < Anzahl do
    begin
    a:=Random(obereGrenze);
    if Liste[a]<>1 then
      begin
      Liste[a]:=1;
      Inc(i);
      end;
    end;
  //Ausgabe:
  for i:=0 to ObereGrenze-1 do
    if Liste[i]=1 then Edit1.Text:=Edit1.Text+','+IntToStr(i);
end;
Ralph
  Mit Zitat antworten Zitat