garantiert nicht. probiers aus.
ich würde das so machen:
ich hab zuerst ein Array (oder eine Liste) mit sortierten Elementen, und dann hänge ich an ein 2. Array nacheinander zufällig die Elemente des 1. Arrays an.
gerade hab ich deine Möglichkeit getestet:
Delphi-Quellcode:
var
a:array[1..18] of integer;
tmp:integer;
i,j,element:integer;
elements:array[1..18,1..18] of integer;
const
count=1000000;
begin
label1.Caption:='';
for i:=1 to 18 do
for j:=1 to 18 do
elements[i,j]:=0;
for j:=1 to count do begin
for i:=1 to 18 do
a[i]:=i;
randomize;
for i:=1 to 18 do begin
tmp:=a[i];
if i<>18 then
element:=random(18-i)+i
else
element:=random(18)+1;
a[i]:=a[element];
a[element]:=tmp;
end;
for i:=1 to 18 do
elements[i,a[i]]:=elements[i,a[i]]+1;
end;
for i:=1 to 18 do
begin
for j:=1 to 18 do
label1.Caption:=label1.Caption+inttostr(elements[i,j])+' | ';
label1.Caption:=label1.Caption+#13;
end;
end;
tatsächlich ist jede Zahl ungefähr gleich häufig an jeder Stelle im Array enthalten.
Code:
|52|51|56|47|63|53|56|57|55|58|57|54|53|62|55|57|54|60|
|57|55|52|56|51|60|58|49|54|52|59|55|62|42|66|54|58|60|
|66|56|56|52|57|49|62|48|68|51|66|38|70|39|57|55|58|52|
|55|65|75|60|46|49|53|60|47|52|55|60|47|61|57|46|50|62|
|55|41|54|56|58|52|54|59|60|56|59|54|51|63|52|63|60|53|
|51|57|58|67|55|53|62|55|51|61|56|56|52|49|52|45|61|59|
|58|59|48|64|54|51|43|58|70|47|54|54|63|60|55|50|58|54|
|48|55|56|64|60|62|63|59|70|61|31|57|63|66|54|35|45|51|
|66|54|47|49|57|43|83|44|53|63|51|57|56|61|48|60|52|56|
|53|60|78|66|51|55|57|65|56|44|50|54|57|52|45|47|57|53|
|52|52|48|49|50|66|51|48|59|46|61|59|67|57|61|57|63|54|
|58|66|58|48|50|53|52|58|49|58|50|58|44|56|74|62|54|52|
|52|63|51|52|61|61|51|52|47|51|61|70|50|54|62|56|51|55|
|48|50|49|64|56|48|53|49|51|69|62|63|56|67|49|62|43|61|
|57|60|57|50|61|64|55|66|44|53|57|49|43|47|59|74|52|52|
|56|45|46|49|62|70|52|62|52|61|62|51|42|59|56|53|69|53|
|54|59|53|53|59|55|49|61|64|55|52|62|61|51|43|70|42|57|
|62|52|58|54|49|56|46|50|50|62|57|49|63|54|55|54|73|56|
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates