индекс находился вне границ массива при выборочной сортировке
задачей сортировки является найти в массиве min и max, первый отправить влево, второй - вправо, и затем продолжить сортировать, не трогая крайние (поставленные) элементы. вот я не понимаю, как влетел в ошибку.
теперь выводится только исходный массив, а дальше программа работает бесконечно.
const n=10;
var a:array[1..n] of integer;
i,j,max,min,c,flag:integer;
begin
for i:=1 to n do begin
a[i]:=random(1000);
write(a[i],' ')
end;
j:=0;
max:=-1;
min:=1000;
repeat
flag:=1; j:=j+1;
for j:=1 to n-1 do begin
for i:=1 to n-j do begin
if a[i]<min then a[i]:=min;
if a[i]>max then a[i]:=max;
end;
c:=a[i];a[i]:=min;min:=c;
c:=a[n-j];a[n-j]:=max;max:=c;
flag:=2;
end;
until flag=1;
writeln;
for i:=1 to n do write(a[i],' ')
end.