Всё, что находится между комментариями {1+}...{1-} относится к первой программе, {2+}...{2-} — ко второй.
const n = 5;
type matrix = array[1..n, 1..n] of integer; {2+} row = array[1..n] of integer; {2-}
{1+} function maxElemOfMainDiag(m: matrix): integer; var i, max: integer; begin max := m[1, 1]; for i := 2 to n do if m[i, i] > max then max := m[i, i]; maxElemOfMainDiag := max; end; {1-}
{2+} function minElemOfColumns(m: matrix): row; var i, j: integer; r: row; begin for i := 1 to n do begin r[i] := m[1, i]; for j := 2 to n do if m[j, i] < r[i] then r[i] := m[j, i]; end; minElemOfColumns := r; end; {2-}
var m: matrix; {2+} r: row; {2-} i, j: integer;
begin writeln('Исходный массив:'); randomize; for i := 1 to n do begin for j := 1 to n do begin m[i, j] := random(100) + 1; write(m[i, j]:4); end; writeln; end; {1+} writeln('Максимальный элемент главной диагонали равен ', maxElemOfMainDiag(m)); {1-} {2+} r := minElemOfColumns(m); writeln('Минимальные элементы столбцов:'); for i := 1 to n do write(r[i]:4); writeln; {2-} end.