Помогите.простая задача по файлам (Pascal)
Организовать текстовый файл f состоящий из N строк. После этого организовать файлы h и g. В файл h записать строки файла f занимающие нечётные позиции, в файл g чётные.
p.s:Я бы может сделал бы,но пaскаль убей не помню.Заранее спасибо.
p.s:Я бы может сделал бы,но пaскаль убей не помню.Заранее спасибо.
Код: Выделить всё
repeat
readln(f,s);
writeln(h,s);
readln(f,s);
writeln(g,s);
until eof(f);
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Хыиуду писал(а):Код: Выделить всё
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]
Так, пожалуй, правильнее будет, хотя и более громоздко.
Ни что так не ограничивает фантазию программиста, как компилятор...
Можно и так. А я репит-антил больше люблю

Код: Выделить всё
repeat
readln(f,s);
writeln(h,s);
if eof(f) then break;
readln(f,s);
writeln(g,s);
until eof(f);
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Мне бы полностью код Паскаля было бы супер
Это код, который работает с уже сформированным файлом.
Осталось дописать только создание исходного файла.
Осталось дописать только создание исходного файла.
Ни что так не ограничивает фантазию программиста, как компилятор...
я вообще '0' в паскале.помогите пожалуйста если не трудно
Ну что-то в роде
[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]
Примерно так, могут быть мелкие синтаксические ошибки, т.к. писал без компиляции.
[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]
Примерно так, могут быть мелкие синтаксические ошибки, т.к. писал без компиляции.
Ни что так не ограничивает фантазию программиста, как компилятор...