Für Lösung zwei (ungetestet)
Im Array Zahlen findest Du am Ende alle Zahlen in der gezogenen Reihenfolge.
Code:
const
Max = 32;
var
Zahlen: array[0..Max-1] of Integer;
procedure Ziehung;
var
I, J, Zahl: Integer;
Gezogen: array[0..Max-1] of Boolean;
begin
FillChar(Gezogen, SizeOf(Gezogen), #0);
Randomize;
for I := 0 to Max-1 do
begin
Zahl := Random(Max);
while Gezogen[Zahl] do
begin
Inc(Zahl);
if Zahl > Max then
Zahl := 0;
end;
Gezogen[Zahl] := True;
Zahlen[I] := Zahl;
end;
end;
So, oder so ähnlich...