uses crt;
Type arr=array[1..6,1..4] of integer;
brr=array[1..7,1..3] of integer;
procedure Mas_a(a:arr; var sr:real);
var i,j,sum:integer;
begin
sr:=0;
for i:=1 to 6 do
for j:=1 to 4 do
sum:=sum+a[i,j];
sr:=sum/24;
end;
procedure Mas_b(b:brr; var sr:real);
var i,j,sum:integer;
begin
sr:=0;
for i:=1 to 7 do
for j:=1 to 3 do
sum:=sum+b[i,j];
sr:=sum/21;
end;
var a:arr;
b:brr;
i,j:integer;
sr1,sr2:real;
begin
ClrScr;
Randomize;
for i:=1 to 6 do
begin
for j:=1 to 4 do
begin
a[i,j]:=random(20)-10;
Write(a[i,j]:4);
end;
Writeln;
end;
Mas_a(a,sr1);
Writeln('Sr=',sr1:0:3);
Writeln;
for i:=1 to 7 do
begin
for j:=1 to 3 do
begin
b[i,j]:=random(20)-10;
Write(b[i,j]:4);
end;
Writeln;
end;
Mas_b(b,sr2);
Writeln('Sr=',sr2:0:3);
Readln;
end.
Вариант 2
uses crt;
type matr=array[1..7,1..4] of integer;
procedure Vvod(var mt:matr;x,y:byte;c:char);
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to x do
begin
for j:=1 to y do
begin
mt[i,j]:=random(20);
write(mt[i,j]:4);
end;
writeln;
end;
end;
function Sred(mt:matr;x,y:byte):real;
var i,j:byte;
s:integer;
begin
s:=0;
for i:=1 to x do
for j:=1 to y do
s:=s+mt[i,j];
Sred:=s/(x*y);
end;
var x,y:matr;
begin
clrscr;
randomize;
Vvod(x,6,4,'X');
writeln('Среднее=',Sred(x,6,4):0:2);
Vvod(y,7,3,'Y');
writeln('Среднее=',Sred(y,7,3):0:2);
readln
end.