Изменить порядок следования строк в файле на обратный - Pascal
Формулировка задачи:
Помогите, пожалуйста, решить данную задачу в паскале: Дан текстовый файл, состоящий из нескольких строк. Изменить порядок следования строк в файле на обратный порядок следования.
Решение задачи: «Изменить порядок следования строк в файле на обратный»
textual
Листинг программы
var fi, fo: Text; s: String; n, i: Integer; begin Assign(fi,'input.txt'); Reset(fi); Assign(fo,'output.txt'); Rewrite(fo); while not EoF(fi) do begin ReadLn(fi); Inc(n); end; for n:=n downto 1 do begin Reset(fi); for i:=n downto 2 do ReadLn(fi); ReadLn(fi,s); WriteLn(fo,s); end; Close(fi); Close(fo); end.
Объяснение кода листинга программы
- Объявление переменных:
fi
иfo
- файловые переменные типаText
.s
- строковая переменная типаString
.n
иi
- целочисленные переменные типаInteger
.
- Открытие файлов:
Assign(fi,'input.txt');
- присваивание файлу с именемinput.txt
переменнойfi
.Reset(fi);
- открытие файла для чтения.Assign(fo,'output.txt');
- присваивание файлу с именемoutput.txt
переменнойfo
.Rewrite(fo);
- открытие файла для записи (если файл существует, его содержимое будет удалено).
- Подсчет количества строк в файле:
while not EoF(fi) do begin
- цикл, выполняемый до достижения конца файла.ReadLn(fi); Inc(n);
- чтение строки из файла и увеличение значения переменнойn
на 1.
- Изменение порядка строк в файле на обратный:
for n:=n downto 1 do begin
- цикл, выполняемый в обратном порядке от количества строк до 1.Reset(fi);
- открытие файла для повторного чтения.for i:=n downto 2 do ReadLn(fi);
- цикл, читающий строки в файле до нужной строки (используется для перемещения указателя в нужное место).ReadLn(fi,s);
- чтение строки из файла в переменнуюs
.WriteLn(fo,s);
- запись строкиs
в файлfo
.
- Закрытие файлов:
Close(fi);
- закрытие файлаfi
после чтения.Close(fo);
- закрытие файлаfo
после записи.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д