writeln;
for k := 1 to n do
begin
for i := 1 to n1 do
write(m[k,i] : 7:3,' ');
writeln
end; end;
{ процедура ввода значений элементов матрицы } procedure inputmat (var m : mattype; var n : byte); var k,i : byte; begin
writeln;
write ('Размер матрицы = ');
readln(n);
for k := 1 to n do
for i := 1 to n do
read (m[k,i]); end;
{ процедура транспонирования матрицы } procedure Transpose (var m : mattype;n : byte); var k,i : byte;
ttt : double; begin
for k := 1 to n do
for i := k+1 to n do
begin
ttt := m[k,i];
m[k,i] := m[i,k];
m[i,k] := ttt;
end; end;
{ процедура умножения двух матриц (a*b=c) } procedure MulMat (a : mattype; ma,na : byte;
b : mattype; mb,nb : byte;
var c : mattype; var mc,nc : byte); var k,i,j : byte;
s : double; begin
if na = nb then
begin
mc := ma;
nc := nb;
for k := 1 to mc do
for j := 1 to nc do
begin
s := 0;
for i := 1 to nc do
s := s+a[k,i]*b[i,j];
c[k,j] := s;
end;
end
else
begin
writeln('Неправильный размер матрицы !');
halt
end; end;
{ процедура получения двух треугольных матриц произведение которых равно матрице m } procedure GetRnT (var m,r,t : mattype; n : byte); var k,i,m1,l : byte; begin