Дан двумерный массив. Найти среднее арифметическое из каждой строки, и это значение поместить на место наибольшего элемента из этой строки- Pascal(Паскаль)

uses CRT;
const
  n = 3;
  m = 5;

var
  i, j : integer;
  a : array[1..n, 1..m] of integer;
  MaxIndex : integer;
  Sred : integer;

begin
  clrscr;
  randomize;
  for i := 1 to n do
    for j := 1 to m do
    begin
      a[i,j] := Random(10);
      {write('a[', i, ',', j, ']=');
      readln(a[i, j]);}
    end;
  clrscr;
  writeln('Введённая матрица:');
  for i := 1 to n do
  begin 
    for j := 1 to m do
      write(a[i, j]: 4);
    writeln;
  end;
  WriteLn;
  for i := 1 to n do
  begin
    sred := 0;
    MaxIndex := 1;
    for j := 1 to m do begin
      sred := sred + a[i, j];
      if a[i,j] > a[i, MaxIndex] then MaxIndex := j;
    end;
    sred := sred div m;
    writeln('Среднее арифметическое по ',i:1,'-й строке = ', sred);
    writeln('Максимум в ',i:1,'-й строке = ', a[i, MaxIndex]);

    {заменим максимальный элемент (его индекс в MaxIndex)
       средним значением}
    a[i, MaxIndex] :=  Sred;

  end;
    writeln;
    writeln('Результирующая матрица: ');
    for i := 1 to n do
    begin 
       for j := 1 to m do
         write(a[i, j]: 4);
       WriteLn;
    end;
    readln;
  end.

Leave a Comment

+ 14 = 18