uses crt;
const n=7;
m=6;
type matr=array[1..n,1..m] of real;
function SrPol(a:matr):real;
var i,j,k:byte;
s:real;
begin
s:=0;k:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]>0 then
begin
k:=k+1;
s:=s+a[i,j];
end;
if k=0 then SrPol:=0
else SrPol:=s/k;
end;
procedure SrOtr(a:matr;var sm,sr:real;var k:byte);
var i,j:byte;
begin
sm:=0;k:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]<0 then
begin
k:=k+1;
sm:=sm+a[i,j];
end;
if k=0 then sr:=0
else sr:=sm/k;
end;
var a:matr;
i,j,k_otr:byte;
sum,sr_otr:real;
begin
clrscr;
randomize;
writeln('Матрица:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=20*random-9;
write(a[i,j]:6:2);
end;
writeln;
end;
writeln;
writeln('Среднее арифметическое положительных=',SrPol(a):0:2);
SrOtr(a,sum,sr_otr,k_otr);
write('Среднее арифметическое отрицательных=',sr_otr:0:2,' их количество=',k_otr,' сумма=',sum:0:2);
readln
end.