type table1 = array [1..10,1..10] of integer;
table2 = array [1..20,1..30] of integer;
A, B, C
D =
B, N, A
где N –нулевая матрица типа table1.
uses crt;
type table1=array[1..10,1..10] of integer;
table2=array[1..20,1..30] of integer;
procedure constr(a,b,c:table1;n:byte;var d:table2);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
begin
d[i,j]:=a[i,j];
d[i,n+j]:=b[i,j];
d[i,2*n+j]:=c[i,j];
d[n+i,j]:=b[i,j];
d[n+i,n+j]:=0;
d[n+i,2*n+j]:=a[i,j];
end;
writeln('Итоговая матрица:');
for i:=1 to 2*n do
begin
for j:=1 to 3*n do
write(d[i,j]:4);
writeln;
end;
readln
end;
procedure Vvod(var a:table1;n:byte;c:char);
var i,j:byte;
begin
writeln('Матрица ',c);
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(40)+10;
write(a[i,j]:4);
end;
writeln;
end;
writeln;
end;
var a,b,c:table1;
d:table2;
n:byte;
begin
clrscr;
randomize;
repeat
write('Размер исходных матриц до 10 n=');
readln(n);
until n in [1..10];
Vvod(a,n,'A');
Vvod(b,n,'B');
Vvod(c,n,'C');
write('Press Enter...');
readln;
constr(a,b,c,n,d);
end.