Delphi-Quellcode:
procedure Zufallskarten15;
var
i1, i2, x: Integer;
begin
for i1 := 1 to 15 do
begin
repeat
x := Zufallskarte(1, 52);
for i2 := 1 to i1 - 1 do
begin
if Karte[i2] = x then
begin
x := -1;
Break;
end;
end;
until (x <> -1);
Karte[i1] := x;
end;
end;
Aber es ist einfacher gleich bei der Auswahl doppelte Karten auszuschließen, als diese hinterher zu ersetzen.
Da hatte ich doch mal eine Funktion...,
ah ja:
http://www.delphipraxis.net/881397-post66.html