Всё, что находится между комментариями {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
Ответ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018
Внимание! Если программа не работает, обновите версию!
begin
ReadSeqIntegerWhile(t->t<>0).Where(t->(t mod 7=0) and (t mod 10=3)).Sum.Println
end.