uses crt;
const max=50;
type matr=array[1..max,1..max] of integer;
procedure proc1(var f:text;var mt:matr;var x,y:byte);
var i,j:byte;
begin
assign(f,'ishod.txt');
rewrite(f);
repeat
write('Количество строк до ',max,' =');
readln(x);
until x in [1..max];
repeat
write('Количество столбцов до ',max,'=');
readln(y);
until y in [1..max];
writeln('Введите ',x*y,' элементов матрицы:');
for i:=1 to x do
begin
for j:=1 to y do
begin
write('el[',i,',',j,']=');
readln(mt[i,j]);
write(f,mt[i,j]:6);
end;
writeln(f,'');
end;
close(f);
end;
procedure proc2(var f:text;mt:matr;x,y:byte);
var i,j:byte;
begin
assign(f,'result.txt');
rewrite(f);
for i:=1 to x do
if mt[i,1]<0 then
for j:=1 to y do
write(f,mt[i,j]:6);
close(f);
end;
procedure proc3(var f:text);
var a:integer;
begin
reset(f);
writeln('Содержимое файла результата:');
while not eof(f) do
begin
read(f,a);
write(a,' ');
end;
close(f);
end;
var fi,fr:text;
a:matr;
n,m:byte;
begin
clrscr;
proc1(fi,a,n,m);
proc2(fr,a,n,m);
proc3(fr);
readln
end.