Консультация № 181608
25.12.2010, 20:45
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
Дан файл f , компоненты которого являются целыми
числами. Записать в файл g все четные числа файла f , а в файл h –
все нечетные. Порядок следования чисел сохраняется.

Обсуждение

Неизвестный
26.12.2010, 09:45
общий
это ответ
Здравствуйте, Анна!

Вот код программы! Все комментарии внесены!

Желаю вам разобраться с этой задачей! ABC - pascal

Код:
program p181608;
var f,g,h:file of integer;{инициализация файлов целых чисел(типизированных)}
a:integer;{переменная для чисел}
begin
assign(f,'input_f');{связываем переменную с файлом на диске}
rewrite(f);{открываем для записи}
assign(g,'output_g');
rewrite(g);
assign(h,'output_h');
rewrite(h);
writeln('Please enter components of file f ');
repeat {Если хотим, то правим на любой другой конец ввода}
readln(a);
write(f,a);{записываем в файл}
until a=0;{если компонент 0 - выходим из цикла ввода компонентов}
reset(f);{открываем исходный файл для чтения}
while not eof(f) do {пока не конец файла f}
begin
read(f,a);{читаем числа}
if odd(a)then
write(h,a){если нечетное число, записываем в файл h}
else
write(g,a);{если четное, записываем в файл g}
end;
close(f);
{Проверка результата по файлам h и g}
reset(g);
writeln('File g:');
while not eof(g) do
begin
read(g,a);
write(a,' ');
end;
close(g);{закрываем фаил}
{---------------------}
writeln;
reset(h);
writeln('File h:');
while not eof(h) do
begin
read(h,a);
write(a,' ');
end;
close(h);
readln
end.


P.s.:ввод идет в столбик (оператор readln) - но в примерах я опишу в строку для компактности!!!
Будьте внимательны!
Пример работы программ:
Код:
input_f: 1 2 3 4 5 6 7 8 9 0
output_g: 2 4 6 8 0
output_h: 1 3 5 7

Удачи!
Форма ответа