Страница 1 из 2
Типизированный файл (Pascal)
Добавлено: 06 июн 2008, 17:37
Шторм
Файл f содержит буквы и цифры.Занести в файл h только буквы а в файл g - цифры.я сделал с помощью текстового файла а как с помощью типизированного?Вот код:
Код: Выделить всё
var
F,G,H:text;
S:string;
sc:char;
I,N:integer;
begin
writeln('vvedite 4islo strok : ');
readln(N);
Assign(F,'c:\ffile.txt');
Rewrite(F);
for i:=1 to N do
begin
readln(S);
writeln(F,S);
end;
close(F);
Reset(f);
Assign(G,'c:\gfile.txt');
Rewrite(g);
Assign(H,'c:\hfile.txt');
Rewrite(H);
while not eof(f) do
begin
read(f,sc);
case sc of
'1'..'9','0':write(g,sc);
'a'..'z':write(h,sc);
end;
end;
close(F);
close(G);
close(H);
end.
Исправте пожалуйста!!!
Re: Типизированный файл
Добавлено: 06 июн 2008, 17:43
MOTOCoder
Ну раз в исходном файле есть буквы и цифры, значит, скорее всего, он будет ткстовый. А вот на счет выходных - скорее всего первый будет File of Char, а второй File of Integer.
Re: Типизированный файл
Добавлено: 06 июн 2008, 17:47
Шторм
Код: Выделить всё
var f : text;
s : file of char;
g: file of integer;
а так будет работать?
Re: Типизированный файл
Добавлено: 06 июн 2008, 17:50
Шторм
Re: Типизированный файл
Добавлено: 06 июн 2008, 17:56
MOTOCoder
Данный код, конечно, так работать не будет, хотя вопрос еше в том, нужен ли вывод чисел в бинарном формате(file of integer). Он в таких задачах используется редко, хотя как раз является типизированным файлом. Наверное лучше все 3 файла будет описать как
File of Char
Еще, как я понимаю, ввод исходного файла здесь не нужен - он уже задан по условию.
В принципе, нужно заменить только тип всех файлов на
file of char
и вместо кода до
Assign(G,'c:\gfile.txt');
поставить
Файл
C:\F.txt должен существовать.
Re: Типизированный файл
Добавлено: 06 июн 2008, 17:59
Шторм
Код: Выделить всё
var
F,G,H:file of integer;
S:string;
sc:char;
I,N:integer;
begin
writeln('vvedite 4islo strok : ');
readln(N);
Assign(F,'c:\ffile.txt');
Rewrite(F);
for i:=1 to N do
begin
readln(S);
writeln(F,S);
end;
close(F);
Reset(f);
Assign(f,'c:\gfile.txt');
Rewrite(g);
Assign(H,'c:\hfile.txt');
Rewrite(H);
while not eof(f) do
begin
read(f,sc);
case sc of
'1'..'9','0':write(g,sc);
'a'..'z':write(h,sc);
end;
end;
close(F);
close(G);
close(H);
end.
Re: Типизированный файл
Добавлено: 06 июн 2008, 18:02
MOTOCoder
Когда говорится
Файл f содержит буквы и цифры
создавать его из программы не нужно, он уже долже быть на диске.
То есть
[syntax='Delphi']
writeln('vvedite 4islo strok : ');
readln(N);
Assign(F,'c:\ffile.txt');
Rewrite(F);
for i:=1 to N do
begin
readln(S);
writeln(F,S);
end;
close(F);
[/syntax]
это лишнее.
Re: Типизированный файл
Добавлено: 06 июн 2008, 18:04
Шторм
Не кините правильный код? пожалуйста
Re: Типизированный файл
Добавлено: 06 июн 2008, 18:10
MOTOCoder
[syntax='Delphi']
var
F,G,H:{file of integer}File of Char;
S:string;
sc:char;
I,N:integer;
begin
{writeln('vvedite 4islo strok : ');
readln(N);
Assign(F,'c:\ffile.txt');
Rewrite(F);
for i:=1 to N do
begin
readln(S);
writeln(F,S);
end;
close(F);}{лишнее}
Assign(F,'c:\ffile.txt');{добавляем открытие файла}
Reset(f);
Assign(f,'c:\gfile.txt');
Rewrite(g);
Assign(H,'c:\hfile.txt');
Rewrite(H);
while not eof(f) do
begin
read(f,sc);
case sc of
'1'..'9','0':write(g,sc);
'a'..'z':write(h,sc);
end;
end;
close(F);
close(G);
close(H);
end.
[/syntax]
Re: Типизированный файл
Добавлено: 06 июн 2008, 18:14
Шторм
Не работает чё то