Найти в каждой строке матрицы максимальные и минимальные элементы и поместить их на место первого и последнего элемента строки соответственно. (N меньше или равно 20, М меньше или равно 10) — Pascal(Паскаль)

program ff;

var
  A: array [1 .. 10, 1 .. 20] of integer;
  i, j, m, n: integer;

procedure exchange(var A, b: integer);
var
  c: integer;
begin
  c := A;
  A := b;
  b := c;
end;

procedure swap_elt(i: integer);
var
  j, min, max: integer;
begin
  min := 1;
  for j := 2 to n do
    if A[i, min] > A[i, j] then
      min := j;
  max := 1;
  for j := 2 to n do
    if A[i, max][i, j] then
      max := j;

  exchange(A[i, min], A[i, max])
end;

{ -------------------------------------------- }
begin
  write('strok M= ');
  readln(m); { считываем размер массива }
  write('stolbcov N= ');
  readln(n); { считываем размер массива }

  writeln('Vvedite elementy massiva A (>10): ');
  for i := 1 to m do
    for j := 1 to n do
    begin
      write('A[', i, ',', j, ']=');
      readln(A[i, j]);
    end; { считываем сам массив }

  write('Vot vvedennyy vami massiv A: ');
  for i := 1 to m do
  begin
    writeln;
    for j := 1 to n do
      write(A[i, j]:4, ' ');
  end; { выводим массив }

  for i := 1 to m do
    swap_elt(i);

  writeln;
  writeln;
  write('Vot PREOBRAZOVANNYI massiv A: ');
  for i := 1 to m do
  begin
    writeln;
    for j := 1 to n do
      write(A[i, j]:4, ' ');
  end; { выводим массив }

  readln;

end.

Leave a Comment

9 + 1 =