Пример файла
6
10 -11 12 13 -14 14
9 8 11 25 16 -5
18 -5 10 33 20 -6
-20 12 15 20 25 12
31 14 -26 65 23 23
-5 6 12 -14 6 12
uses crt;
var f,g:text;
a,c:array[1..20,1..20] of integer;
n,i,j,s1,s2:byte;
nf,ng:string;
x,sm:integer;
begin
clrscr;
write('Имя файла для чтения: ');
readln(nf);
nf:=nf+'.txt';
assign(f,nf);
{$I-} reset(f); {$I+}
if IOResult <> 0 then
begin
writeLn('Файл ',nf,' не найден!');
writeLn('Работа программы завершена. Нажмите ENTER');
readln;
exit;
end;
write('Имя файла для записи: ');
readln(ng);
ng:=ng+'.txt';
assign(g,ng);
rewrite(g);
read(f,n);
writeln('Матрица А:');
for i:=1 to n do
begin
for j:=1 to n do
begin
read(f,a[i,j]);
write(a[i,j]:4);
end;
writeln;
end;
close(f);
repeat
writeln('Введите номера 2х разных строк для обмена от 1 до ',n);
readln(s1,s2);
until(s1 in [1..n])and(s2 in [1..n])and(s1<>s2);
for j:=1 to n do
begin
x:=a[s1,j];
a[s1,j]:=a[s2,j];
a[s2,j]:=x;
end;
writeln('Матирица после обмена строк ',s1,' и ',s2);
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
writeln('Нижняя треугольная матрица С:');
writeln(g,'Niznyaya treugolnaya matrica C:');
sm:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
if j<=i then c[i,j]:=a[i,j]
else c[i,j]:=0;
write(c[i,j]:4);
write(g,c[i,j]:4);
if (j<i)and(c[i,j]>0) then sm:=sm+a[i,j];
end;
writeln;
writeln(g);
end;
writeln('Сумма положительных ниже главной диагонали=',sm);
writeln(g,'Summa polozitelnyh nize glavnoj diagonali=',sm);
close(g);
write('Нижняя треугольная матрица С записана в файл ',ng);
readln
end.
Выходной файл
Niznyaya treugolnaya matrica C:
10 0 0 0 0 0
9 8 0 0 0 0
18 -5 10 0 0 0
-20 12 15 20 0 0
-5 6 12 -14 6 0
31 14 -26 65 23 23
Summa polozitelnyh nize glavnoj diagonali=205