Hi,
ich möchte die Zahlen von 1-26 (jede einmal) in zufälliger reihenfolge in ein array speichern und habe dafür eine repeat until schleife geschrieben:
Delphi-Quellcode:
repeat
rnd:=random(25)+1;//zufallszahlerzeugen
if (pos(IntToStr(rnd),s)=0) // fügt zufallszahl dem array hinzu, falls diese zufallszahl bis jetzt noch nicht verwendet wurde
then begin
a[counter]:=rnd;
writeln(counter,': ',rnd);
s:=s+IntToStr(rnd)+' '; // zufallszahl in einem string abspeichern, damit sie nicht nochmal ins array geschrieben wird
counter:=counter+1; // wenn neue zufallszahl dem array hinzugefügt wurde, wird der zähler erhöht
end;
until (counter=26);
allerdings schafft es die schleife nicht bis über 17-21 zufallszahlen. woran kann das liegen? oder dauert es nur unheimlich lange, bis die restlichen, noch nicht eingefügten zufallszahlen berechnet wurden?