Показать сообщение отдельно
  #1  
Старый 28.11.2023, 17:53
Kartem Kartem вне форума
Прохожий
 
Регистрация: 28.11.2023
Сообщения: 3
Версия Delphi: delphi 11
Репутация: 10
Восклицание Сортировка двумерного массива методом пузырька delphi 11

массив 5*5 заполнен рандомными числами заполнение неинтересно т.к сделал а вот сортировка не получается ошибка range cheсk error для циклов разные значения пробовал и 5 и 6 и 7 только с 4 работает но тогда сортирует не до конца, а и вывод нужен в стриггрид
вот код
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
  var i,j, k, x :integer;

    for k := 1 to 5*5 do
      for i := 1 to 5 do
        for j := 1 to 5 do
  begin
  if (i <> 5) and (j <> 5) then
    begin
      if table[i, j + 1] > table[i,j] then
        begin
          x := table[i, j + 1];
          table[i, j + 1] := table[i,j];
          table[i, j] := x;
        end;
    end
    else if (1 <> p - 1) and (table[i + 1, j] > table[i,j])then
      begin
        x := table[i + 1, j];
          table[i + 1, j] := table[i,j];
          table[i, j] := x;
      end;
  end;
  with stringgrid2 do
  begin
     colcount:= p + 1;
     rowcount := p + 1;
     for i := 1 to p do
       for j := 1 to p do
         begin
           cells[i,j]:= inttostr(table[i,j]);
         end;
  end;
end;

lmikle: пользуемся тегами для оформления
Ответить с цитированием