Спасибо огромное! Теперь понятно)
А можете еще вот этот момент посмотреть?
begin
If i_min_2<i_max_2 then
Begin
i1:=i_min_2;
i2:=i_max_2;
End
Else
Begin
i2:=i_min_2;
i1:=i_max_2;
End;
a:=i2-i1;
m:= a Div 2;
For i:=i1 To m Do
Begin
k:= vector[i1+i];
vector[i1+i]:=vector[i2-i] ;
vector[i2-i]:=k;
End;
Похоже,где "m:= a Div 2;" тоже ошибка. Когда а без остатка делится - все вроде правильно переворачивается, а в других случаях - на своих местах остается
Как это исправить можно?