MoG wskrzesiłeś fajną funkcję, tylko jedno mnie niepokoi, zwróć uwagę na fragment:
for i:=1 to 100 do
if zmienna[los]=z[i] then ...coś tam
Program skompiluje się prawidłowo, ale pętla nie wykona się, tak naprawdę
zmienna[los] nie zostanie porównana ze 100 wartościami zmiennej z. Sądzę, iż jest to analogiczna sytuacja do:
for i:=1 to 100 do
until zmienna[los]<>z[i];
Detox ma[sz] 100% racji, taka konstrukcja nie istnieje, po słowie do nie powinno być słowa kluczowego niedleko pada pętla od warunku :)).Delphi ku uciesze programisty program skompiluje, ale nie do końca wykona zamiary twórcy :).Aby dokładniej zilustrować problem posłużę się czytelniejszym przykładem:
var los:integer;
zmienna:array[1..10000] of integer;
...
repeat
los:=random(10000)+1;
until (los<>zmienna[1])and(los<>zmienna[2])and(los<>zmienna[3]) //i tak aż do (los<>zmienna[10000]);
...
Pisanie tego na piechotkę sprawi, iż na starość będę miał wykrzywione nadgarstki :). Jak to skrócić? PS.ratujcie proszę moje nadgarstki :)