(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: Keine doppelten Zufallszahlen mehr
20. Jun 2005, 21:13
aha
Delphi-Quellcode:
Var
l : Array [0..9] Of Integer;
r,i : Integer;
Begin
For i := 0 to 9 do
Repeat
a[i] := Random (100); // Randomzahl einfügen
j := 0;
while a[j]<>a[i] do inc (j); // Die gleiche Zahl suchen
Until i=j; // Wenn die gleiche Zahl an Pos i steht, ist sie eindeutig
// Hier sind in a[0..9] eindeutige Zufallszahlen.
End;
Oder auch einfach mal den Code von delphifan modifizieren ....
Delphi-Quellcode:
const
Count = 10;
Var
A : Array[0..Count-1] of Integer;
I, J, T : Integer;
begin
For I := 0 to Count-1 do
A[I] := Random (100); // <--- Das wars, Faulpelz ;-)
For I := 0 to Count-1 do begin
J := I+random(Count-I);
T := A[J];
A[J] := A[I];
A[I] := T;
end;
end;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|