Ввести целую квадратную матрицу ANxN, вывести ее. Из положительных элементов матрицы

Ответить
-Ren
Сообщения: 1
Зарегистрирован: 16 июн 2015, 19:05

16 июн 2015, 19:12

Помогите исправить

.pas(54) : Ошибка времени выполнения: Файл не открыт

Ввести целую квадратную матрицу ANxN, вывести ее. Из положительных элементов матрицы сформировать файл F , который вывести. Далее из файла F сформировать файл G , в который сначала записать сумму всех элементов файла F, затем максимальное значение файла F, затем все его компоненты. Файл отпечатать.

program P1;
var a:array [1..20,1..20] of integer;
f:file of integer;
g:file of integer;
n,i,j,b,S,max:integer;
begin
write ('Введите количество элементов ');
readln (n);

for i:=1 to n do
for j:=1 to n do
begin
write('a[', i, ',', j, ']=');
readLn(a[i,j]);
end;
writeln('Матрица');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;

assign(f,'F.dat');
rewrite(f);
for i:=1 to n do
begin
for j:=1 to n do
if a[i,j]>0 then
write (f,a[i,j]);
end;
Close(F);

Reset(F);
Write('Полученный файл: ');
While NOT EOF(F)do begin
Read(F,b);
Write(b:4);
end;
Close(F);

reset(F);
Assign(G,'G.dat');
rewrite(g);
while not EOF(F) do
begin
read(F,b);
for i:=1 to n do
begin
for j:=1 to n do
begin
S:=S+b;
write (G,S);
end;
begin
if b>max then
max:=b;
write(G,max);
end;
begin
write (G,b);
end;
close(G);
end;
end;

Reset(G);
Write('Полученный файл: ');
While NOT EOF(G)do begin
Read(G,b);
Write(b:4);
end;
Close(G);
end.
Ответить