Всё, что находится между комментариями {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.
Const n=20; var a,b:array[1..n] of integer; i,j,k,m,c:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(51)-25; write(a[i]:5); end; writeln; j:=0; for i:=1 to n do if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end; m:=j; for k := 1 to m-1 do for i := 1 to m-k do if (b[i]<b[i+1]) then begin c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c; end; writeln('Вс массив:'); for i:=1 to m do write(b[i]:5); writeln; j:=0; for i:=1 to n do if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end; writeln('Полученный массив:'); for i:=1 to n do write(a[i]:5); writeln; end.