Удалить из файла каждый второй символ - Turbo Pascal (30424)
Формулировка задачи:
Создать файл произвольных символов (символы вводятся с клавиатуры). Удалить из файла каждый второй символ. Вывести на экран начальный и конечный содержимое файла.
Решение задачи: «Удалить из файла каждый второй символ»
textual
Листинг программы
type fchar = file of char; const nam = '1.txt'; var i: longint; s: string; c: char; f: fchar; procedure file_prn(s: string; var t: fchar); var c: char; begin writeln(s); reset(t); while not eof(t) do begin read(t, c); write(c) end; writeln; writeln end; begin assign(f, nam); writeln('Введите содержимое символьного файла, можно в несколько строк,'); writeln('окончание ввода - пустая строка.'); rewrite(f); repeat readln(s); for i := 1 to length(s) do write(f, s[i]) until length(s) = 0; file_prn('Исходный файл (' + nam + '):', f); for i := 1 to (filesize(f) - 1) div 2 do begin seek(f, i * 2); read(f, c); seek(f, i); write(f, c) end; truncate(f); file_prn('Преобразованный файл:', f); close(f); write('Нажмите <Enter> для выхода из программы.'); readln end.
Объяснение кода листинга программы
- Создается тип данных
fchar
, который представляет собой файл символов. - Определяется константа
nam
, которая представляет имя файла для чтения и записи. - Определяется переменная
i
, которая является целочисленным типом данных и будет использоваться для отслеживания позиции в файле. - Определяется переменная
s
, которая является строковым типом данных и будет использоваться для чтения содержимого файла. - Определяется переменная
c
, которая является отдельным символом и будет использоваться для чтения и записи символов в файл. - Определяется переменная
f
, которая является объектом типаfchar
и будет использоваться для чтения и записи символов в файл. - Определяется процедура
file_prn
, которая принимает два аргумента: строкуs
и объект типаfchar
f
. Эта процедура читает содержимое файла, записывает каждый второй символ вf
и затем записывает оставшееся содержимое файла. - Начинается основной блок кода.
- Открывается файл
nam
для чтения и записи. - Выводится сообщение, запрашивающее ввод содержимого символьного файла.
- Переменная
s
перезаписывается с каждым введенным символом до тех пор, пока ввод не будет завершен пустой строкой. - Переменная
f
перезаписывается с помощью процедурыfile_prn
, которая читает и записывает символы в файлnam
. - После завершения чтения и записи символов в
f
вызывается функцияtruncate
, чтобы уменьшить размер файлаnam
до размера, указанного в инструкции. - Выводится сообщение, запрашивающее ввод символа для выхода из программы.
- Закрывается файл
f
. - Выводится сообщение, запрашивающее ввод символа для выхода из программы.
- Ждется ввод символа до тех пор, пока ввод не будет завершен.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д