uses
crt;
const
n=3;
type
MyArr=array[1..n,1..n]of longint;
var
a,b,c:MyArr;
i,j:integer;
procedure Pr(const a,b:MyArr; var c:MyArr);
var
i,j,k:integer;
begin
for i:=1 to n do
for j:=1 to n do
begin
c[i,j]:=0;
for k:=1 to n do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
end;
end;
procedure mm(const a:MyArr; var b:MyArr);
var
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
b[i,j]:=a[i,j]
end;
begin
clrscr;
writeln('--------- A:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(8)-4;
b[i,j]:=a[i,j];
write(a[i,j]:3,' ')
end;
writeln
end;
for i:=1 to n-1 do
begin
Pr(a,b,c);
mm(c,b)
end;
writeln('Itogo:');
for i:=1 to n do
begin
for j:=1 to n do
write(c[i,j]:3,' ');
writeln
end
end.