Показать сообщение отдельно
  #2  
Старый 28.10.2017, 22:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

непонятно, что конкретно нужно сделать.
Просто переместить те элементы, которые < 1, в начало массива?
Типа так:
Код:
var
  I, J, tmp : Integer;
  A : Array [0..4] Of Integer;
begin
  // read and array
  for i:=0 to 4 do
    a[i]:=StrToInt(StringGrid1.Cells[i,0]);

  // "sorting"
  For I := 0 To 4 Do
    If A[i] >= 1 Then
        For J := I + 1 To 4 Do
          If 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] := IntToStr(a[i])
end;
Ответить с цитированием