Всё, что находится между комментариями {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.
Answers & Comments
Verified answer
Всё, что находится между комментариями {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.
Пример вывода:
Исходный массив:
22 13 80 77 14
50 86 49 22 7
88 68 48 27 79
100 3 11 43 94
85 30 53 34 9
Максимальный элемент главной диагонали равен 86
Минимальные элементы столбцов:
22 3 11 22 7