Расположить столбцы матрицы D[M,N] в порядке возрастания элементов k-ой строки — Delphi(Делфи)

procedure TForm1.Button1Click(Sender: TObject);
var
  m, n, k, i, j, p, x: integer;
  a: array [1 .. 50, 1 .. 50] of integer;
begin
  m := strtoint(edit1.text);
  n := strtoint(edit2.text);
  k := strtoint(edit3.text);
  if (k < 1) or (k > m) then
  begin
    ShowMessage('Недопустимое значение k');
    exit;
  end;
  randomize;
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(10);
      memo1.text := memo1.text + inttostr(a[i, j]) + '  ';
    end;
    memo1.text := memo1.text + #13 + #10;
  end;
  // Сортировка по возрастанию в строке k
  for j := 1 to n - 1 do
    for p := 1 to n - 1 do
      if a[k, p] > a[k, p + 1] then
      begin
        for i := 1 to m do
        begin
          x := a[i, p];
          a[i, p] := a[i, p + 1];
          a[i, p + 1] := x;
        end;
      end;
  // Вывод обработанной матрицы
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      memo2.text := memo2.text + inttostr(a[i, j]) + '  ';
    end;
    memo2.text := memo2.text + #13 + #10;
  end;
end;

end.

Leave a Comment

58 − = 54