Удалить из файла каждый второй символ - 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.

Объяснение кода листинга программы

  1. Создается тип данных fchar, который представляет собой файл символов.
  2. Определяется константа nam, которая представляет имя файла для чтения и записи.
  3. Определяется переменная i, которая является целочисленным типом данных и будет использоваться для отслеживания позиции в файле.
  4. Определяется переменная s, которая является строковым типом данных и будет использоваться для чтения содержимого файла.
  5. Определяется переменная c, которая является отдельным символом и будет использоваться для чтения и записи символов в файл.
  6. Определяется переменная f, которая является объектом типа fchar и будет использоваться для чтения и записи символов в файл.
  7. Определяется процедура file_prn, которая принимает два аргумента: строку s и объект типа fchar f. Эта процедура читает содержимое файла, записывает каждый второй символ в f и затем записывает оставшееся содержимое файла.
  8. Начинается основной блок кода.
  9. Открывается файл nam для чтения и записи.
  10. Выводится сообщение, запрашивающее ввод содержимого символьного файла.
  11. Переменная s перезаписывается с каждым введенным символом до тех пор, пока ввод не будет завершен пустой строкой.
  12. Переменная f перезаписывается с помощью процедуры file_prn, которая читает и записывает символы в файл nam.
  13. После завершения чтения и записи символов в f вызывается функция truncate, чтобы уменьшить размер файла nam до размера, указанного в инструкции.
  14. Выводится сообщение, запрашивающее ввод символа для выхода из программы.
  15. Закрывается файл f.
  16. Выводится сообщение, запрашивающее ввод символа для выхода из программы.
  17. Ждется ввод символа до тех пор, пока ввод не будет завершен.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы