program Project1;
//К данной матрице А порядка n добавьте нулевой и n + 1-й столбцы с элементами, равными 0.
{$APPTYPE CONSOLE}
uses
SysUtils;
type
matr=array[1..10,1..10] of Real;
stroka=string[30];
var
a, a2:matr;
n,i,j,m:Integer;
flag:Boolean;
procedure vvodmatr(var a:matr;ntd:stroka;var n:Integer; fl1,fl2:Boolean);
var
i,j:Integer;
t:Text;
begin
if fl1 then
begin
assign(t,ntd);
Reset(t);
end;
read(t,n,n);
for i:=1 to n do
begin
for j:=1 to n do
read(t,a[i,j]);
end;
if fl2 then
close(t);
end;
procedure dobavlenie(a:matr;n:Integer; var a2:matr);
var
i,j:integer;
begin
m:=n+2;
for i:=1 to n do
a2[i,m]:=0;
begin
for j:=m downto 1 do
for i:=1 to n do
a2[i,j+1]:=a[i,j];
end;
for i:=1 to n do
a2[i,1]:=0;
end;
procedure vivodmatr(ntd:stroka;a:matr;n:Integer;ntd2:stroka;const flag:boolean);
var
i,j:integer;
t2:Text;
begin
Assign(t2,ntd);
if flag then
Rewrite(t2)
else Append(t2);
Writeln(t2,ntd2);
for i:=1 to n do
begin
for j:=1 to n do
write(t2,a[i,j]:8:2);
writeln(t2);
end;
if ntd='con' then
Readln
else
Close(t2);
end;
begin
vvodmatr(a, 'ntd.txt', n,True,false);
flag:=True;
vivodmatr('ntd2.txt',a,n,'матрица а',flag);
dobavlenie(a,n,a2);
flag:=False;
vivodmatr('ntd2.txt',a2,n,'матрица а2',flag);