(Gast)
n/a Beiträge
|
Re: Zufallszahl ziehen ohne wiederholung
8. Feb 2009, 04:44
Delphi-Quellcode:
type TIntArr = Array of Integer;
...
function _Random( Range: Integer; var List: TIntArr ): Integer;
var
i, x: Integer;
begin
if Length(List) = 0 then
begin
SetLength(List, Range);
for i := 0 to High(List) do
List[i] := i;
end;
x := Random(Length(List));
Result := List[x];
for I := x+1 to High(List) do
list[i-1] := list[i];
SetLength( List, High(List) );
end;
...
// der wert "range" wird nur beim ersten aufruf benutzt, und wenn die liste leer ist
// wird sie halt neu initialisiert :P
// --Klatsch ne Memo und nen Button auf die Form und im OnClick Ereignis schreibst du
// --folgendes
var
x: Integer;
i: Integer;
begin
x := _Random( StrToInt(Edit1.Text), Numbers );
Memo1.Clear;
for i := 0 to High(Numbers) do
Memo1.Lines.Add( inttostr(i+1) + '.'#9 + IntToStr(Numbers[i]) );
Caption := 'Random Number - ' + IntToStr(X);
|
|
Zitat
|