// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
type
Mas=array[,] of integer;
var
n,m:integer;
procedure GetMas(s:string; var a:Mas);
begin
if n=0 then begin
n:=ReadInteger('Количество строк в массиве:');
m:=ReadInteger('Количество столбцов в массиве:');
end;
Writeln('Вводите элементы массива ',s);
a:=ReadMatrInteger(n,m)
end;
function MinMas(a:Mas):=a.ElementsByRow.Where(x->x<0).Min;<br>
begin
var a,b,c,d:Mas;
n:=0;
GetMas('A',a);
GetMas('B',b);
GetMas('C',c);
GetMas('D',d);
Writeln('Искомый максимум равен ',
Max(MinMas(a),Max(MinMas(b),Max(MinMas(c),MinMas(d)))))
end.
Пример
Количество строк в массиве: 3
Количество столбцов в массиве: 5
Вводите элементы массива A
-33 -50 34 -41 -41
-31 10 37 31 40
32 -49 -32 -27 4
Вводите элементы массива B
-22 35 16 -6 37
0 11 -48 18 -20
-39 25 -43 38 -26
Вводите элементы массива C
23 38 -33 8 26
17 -8 -42 39 5
16 -1 -12 -25 -49
Вводите элементы массива D
29 31 -21 27 18
-38 49 -11 17 -49
6 48 -34 30 49
Искомый максимум равен -48