Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Сохранение в файл!

Автор: Mambakremen 19.12.2010 18:18

Вот написал прогу всё работает, а в файл не могу сохранить, ругается. Вот мой вариант.

program idz_2_2;
uses crt;
const
n=4;
m=4;
var
x:array[1..n,1..m] of integer;
x1:array[1..n] of integer;
i,j:integer;
min,num:integer;
f:text;
begin
clrscr;
assign(f,'C:\Users\Mamba\Documents\Учеба\Информатика\idz_2_2_file.txt');
for i:=1 to n do
for j:=1 to m do
begin
write('x[',i,',',j,']=');
read(x[i,j]);
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
write(x[i,j]:4);
write(f,x[i,j]:4);
writeln;
writeln(f);
end;
writeln;
writeln('Glavnay diagonalb matricu');
writeln(f,'Glavnay diagonalb matricu');
for i:=1 to n do
x1[i]:=x[i,i];
for i:=1 to n do
write(x1[i]:4);
write(f,x1[i]:4);
writeln;
writeln(f);
num:=1;
min:=x1[1];
for i:=2 to n do
if x1[i] < min then
begin
min:=x1[i];
num:=i;
end;
writeln('minimalbnui element glavnoi diagonali = ',min,'. On nahodits9 v ',num,' stroke');
writeln(f,'minimalbnui element glavnoi diagonali = ',min,'. On nahodits9 v ',num,' stroke');
writeln('Vot stroka s min elementom');
writeln(f,'Vot stroka s min elementom');
for j:=1 to m do
x1[j]:=x[num,j];
for j:=1 to n do
write(x1[j]:4);
write(f,x1[j]:4);
readkey;
close(f);
end.

Автор: volvo 19.12.2010 18:28

Цитата
assign(f,'C:\Users\Mamba\Documents\Учеба\Информатика\idz_2_2_file.txt');
Во-первых, может быть проблема с кириллицей в пути к файлу. А во-вторых, связать-то ты переменную F с файлом связал, а открывать его кто будет? Ни Reset, ни Rewrite в программе не присутствуют...

Автор: Mambakremen 19.12.2010 18:41

да забыл, reset написал всё равно не работает. Там нужны операторные скобки дополнительно?

Автор: volvo 19.12.2010 18:51

Не знаю, тебе виднее, не я дописал Reset, а ты, и куда ты его написал - мне не видно. Повторяю: с большой степенью вероятности кириллица в пути приведет к проблемам.

Автор: Mambakremen 19.12.2010 21:18

Вот, не пашет. exited with exitcode 105 !!!

program idz_2_2;
uses crt;
const
n=4;
m=4;
var
x:array[1..n,1..m] of integer;
x1:array[1..n] of integer;
i,j:integer;
min,num:integer;
f:text;
begin
clrscr;
assign(f,'C:\Users\Mamba\Desktop\inf\idz_2_2_file.txt');
reset(f);
for i:=1 to n do
for j:=1 to m do
begin
write('x[',i,',',j,']=');
read(x[i,j]);
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
begin
write(x[i,j]:4);
write(f,x[i,j]:4);
end;
writeln;
writeln(f);
end;
writeln;
writeln('Glavnay diagonalb matricu');
writeln(f,'Glavnay diagonalb matricu');
for i:=1 to n do
begin
x1[i]:=x[i,i];
write(x1[i]:4);
write(f,x1[i]:4);
end;
writeln;
writeln(f);
num:=1;
min:=x1[1];
for i:=2 to n do
if x1[i] < min then
begin
min:=x1[i];
num:=i;
end;
writeln('minimalbnui element glavnoi diagonali = ',min,'. On nahodits9 v ',num,' stroke');
writeln(f,'minimalbnui element glavnoi diagonali = ',min,'. On nahodits9 v ',num,' stroke');
writeln('Vot stroka s min elementom');
writeln(f,'Vot stroka s min elementom');
for j:=1 to m do
x1[j]:=x[num,j];
for j:=1 to n do
begin
write(x1[j]:4);
write(f,x1[j]:4);
end;
readkey;
close(f);
end.

Автор: Mambakremen 19.12.2010 21:49

всё сделал, просто написал rewrite