Ich hab auch noch einen:
Delphi-Quellcode:
function MakeRandomIntArray(start, count: Integer): TIntegerDynArray;
var
i, rnd, pnt: Integer;
begin
SetLength(Result, count);
for i = Low(Result)
to High(Result)
do
Result[i] = start - 1;
repeat
rnd = Random(count);
pnt = -1;
i = -1;
while pnt < rnd
do
begin
Inc(i);
if Result[i] < start
then
Inc(pnt);
end;
Dec(count);
Result[i] = count + start;
until count = 1;
for i = Low(Result)
to High(Result)
do
if Result[i] < start
then
Result[i] = start;
end;
ist aus nem c# projekt übersetzt und ungetestet, müsste aber seinen zweck tun
MakeRandomIntArray(1,26) sollte deinen Fall abdecken