Ссылочный тип данных - Turbo Pascal (29067)
Формулировка задачи:
Доброго времени суток господа программисты. У меня возникла проблема написания программы в Паскале. Буду краток. Паскаль для меня это небо и земля, он мне никогда не давался и приходилось как то выкручиваться.
Если есть знатоки в этом, буду признателен.
Так вот собственно задача:
Дан файл положительных целых чисел состоящий из нескольких последовательностей чисел, каждая из которых оканчивается на 0. Вывести в выходной файл эти последовательности чисел, во внутри каждой последовательности числа должны идти в обратном порядке.
p.s Набросков нету, т.к я язык знаю, но не умею его применять :c
Решение задачи: «Ссылочный тип данных»
textual
Листинг программы
procedure MkSeq;
var n: Integer;
begin
if not SeekEoF then begin
Read(n);
if n<>0 then begin
MkSeq; Write(' ',n);
end;
end;
end;
begin
Assign(input,'input.txt'); Assign(output,'output.txt');
Reset(input); Rewrite(output);
while not SeekEoF do begin
MkSeq; WriteLn(' ',0);
end;
Close(input); Close(output);
end.
Объяснение кода листинга программы
- В процедуре MkSeq происходит чтение одного числа из файла input.txt и запись пробела и числа в файл output.txt. Если число не равно нулю, то процедура вызывается рекурсивно для этого числа.
- В начале программы происходит назначение имен и путей к файлам input и output.
- Затем происходит проверка на наличие конца файла (SeekEoF). Если конец файла не достигнут, то происходит чтение одного числа из файла и его запись в файл output.
- Программа продолжает выполнять пункты 2-3 до тех пор, пока не будет достигнут конец файла.
- После чтения всех данных из файла input программа закрывает файлы input и output.