Для заданной квадратной матрицы сформировать одномерный массив, элементы которого- максимумы элементов диагоналей , параллельных главной и расположенных ниже нее — Pascal(Паскаль)

program Project1;
 
const
  M = 7;
 
var
  (*Исходный массив.*)
  ArrSrc : array[1..M, 1..M] of Integer;
  (*Массив, содержащий масимумы по диагоналям, параллельным гл. диагонали
  и расположенным ниже её.*)
  ArrRes : array[1..M - 1] of Integer;
  (*i, j - индексы строк и столбцов в массиве ArrSrc.
  k - индекс элементов массива ArrRes.*)
  i, j, k : Integer;
  (*Строка для организации цикла диалога с пользователем.*)
  StrTmp : String;
begin
  repeat
    Writeln('Исходный массив:');
    Randomize;
    for i := 1 to M do begin
      for j := 1 to M do begin
        if j > 1 then Write(', ');
        ArrSrc[i, j] := Random(10); (*0..9.*)
        Write(ArrSrc[i, j]);
      end;
      Writeln;
    end;
 
    Writeln('Результирующий массив:');
    for k := 1 to M - 1 do begin
      ArrRes[k] := ArrSrc[1 + k, 1];
      for i := 1 + k + 1 to M do begin
        j := i - k;
        if ArrSrc[i, j] > ArrRes[k] then ArrRes[k] := ArrSrc[i, j];
      end;
      if k > 1 then Write(', ');
      Write(ArrRes[k]);
    end;
    Writeln;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(StrTmp);
  until StrTmp <> '';
end.

Leave a Comment

9 + 1 =