Страница 1 из 1

Помогите.простая задача по файлам (Pascal)

Добавлено: 14 апр 2008, 01:33
ромка)
Организовать текстовый файл f состоящий из N строк. После этого организовать файлы h и g. В файл h записать строки файла f занимающие нечётные позиции, в файл g чётные.


p.s:Я бы может сделал бы,но пaскаль убей не помню.Заранее спасибо.

Re: Помогите.простая задача по файлам (Pascal)

Добавлено: 14 апр 2008, 11:12
Хыиуду

Код: Выделить всё

repeat
  readln(f,s); 
  writeln(h,s);
  readln(f,s);
  writeln(g,s);
until eof(f);

Re: Помогите.простая задача по файлам (Pascal)

Добавлено: 14 апр 2008, 17:33
MOTOCoder
Хыиуду писал(а):

Код: Выделить всё

repeat
  readln(f,s); 
  writeln(h,s);
  readln(f,s);
  writeln(g,s);
until eof(f);


При нечетном количестве строк в файле получится ошибка ввода/вывода.

[syntax='Delphi']
while not Eof(F) do
begin
readln(F,S);
writeln(H,S);
if not EOF(F) then
begin
readln(F,S);
writeln(G,S);
end;
end;
[/syntax]

Так, пожалуй, правильнее будет, хотя и более громоздко.

Re: Помогите.простая задача по файлам (Pascal)

Добавлено: 15 апр 2008, 10:58
Хыиуду
Можно и так. А я репит-антил больше люблю ;)

Код: Выделить всё

repeat
  readln(f,s); 
  writeln(h,s);
  if eof(f) then break;
  readln(f,s);
  writeln(g,s);
until eof(f);

Re: Помогите.простая задача по файлам (Pascal)

Добавлено: 16 апр 2008, 11:18
ромка)
Мне бы полностью код Паскаля было бы супер

Re: Помогите.простая задача по файлам (Pascal)

Добавлено: 16 апр 2008, 17:09
MOTOCoder
Это код, который работает с уже сформированным файлом.
Осталось дописать только создание исходного файла.

Re: Помогите.простая задача по файлам (Pascal)

Добавлено: 16 апр 2008, 21:08
ромка)
я вообще '0' в паскале.помогите пожалуйста если не трудно

Re: Помогите.простая задача по файлам (Pascal)

Добавлено: 16 апр 2008, 21:15
MOTOCoder
Ну что-то в роде
[syntax='Delphi']
var
F,G,H:text;
S:string;
I,N:integer;

begin
writeln('Введите число строк');
readln(N);
Assign(F,'f.dat');
Rewrite(F);
for i:=1 to N do
begin
readln(S);
writeln(F,S);
end;
close(F);

Assign(F,'f.dat');
Reset(F);
Assign(G,'g.dat');
Rewrite(G);
Assign(H,'h.dat');
Rewrite(H);
{далее приведенный код}
close(F);
close(G);
close(H);
end.

[/syntax]

Примерно так, могут быть мелкие синтаксические ошибки, т.к. писал без компиляции.