Ты ошибся.
Причем в 2х местах.
1. У тебя должно быть не integer, а как минимум Double для типа элементов массива
2. Сравнение идет по модулю, т.е. абсолютному значению
Должно быть как-то так:
Код:
var
I, J : Integer;
tmp : Double;
A : Array [0..4] Of Double;
begin
// read and array
for i:=0 to 4 do
a[i]:=StrToFloat(StringGrid1.Cells[i,0]);
// "sorting"
For I := 0 To 4 Do
If Abs(A[i]) >= 1 Then
For J := I + 1 To 4 Do
If Abs(A[J]) < 1 Then
Begin
tmp := A[J];
A[J] := A[i];
A[i] := tmp;
Break;
End;
// Print array
for i:=0 to 4 do
StringGrid1.Cells[i,0] := FloatToStr(a[i])
end;