В текстовом файле содержится строка из слов - Pascal ABC
Формулировка задачи:
В текстовом файле содержится строка из слов,разделенных запятыми. Создать новый файл , в котором слова записаны в обратном порядке( запятые после слов сохраняются)
Например исходный файл:
мама, мыла, раму
Тогда новый:
раму, мыла, мама
Пожалуйста помогите!!!
Решение задачи: «В текстовом файле содержится строка из слов»
textual
Листинг программы
var f:text; s:string; a:array[1..100] of string; n,i:byte; begin assign(f,'input.txt');//файл в папке с програмой reset(f); readln(f,s); s:=s+','; close(f); n:=0; while pos(',',s)>0 do begin n:=n+1; a[n]:=copy(s,1,pos(',',s)-1); delete(s,1,pos(',',s)); end; for i:=1 to n div 2 do begin s:=a[i]; a[i]:=a[n-i+1]; a[n-i+1]:=s; end; assign(f,'output.txt'); rewrite(f); for i:=1 to n do begin write(f,a[i]); if i<n then write(f,','); end; close(f); writeln('Файл перезаписан') end.
Объяснение кода листинга программы
- Создается переменная f типа text и присваивается значение 'input.txt'. Эта переменная будет использоваться для чтения из текстового файла.
- Выполняется команда reset(f), которая подготавливает файл для чтения.
- Выполняется команда readln(f,s), которая читает строку из файла и сохраняет ее в переменной s.
- Строка s удлиняется на один символ, используя оператор конкатенации (s:=s+',').
- Закрывается файл f с помощью команды close(f).
- Переменная n инициализируется значением 0.
- Запускается цикл while, который выполняется до тех пор, пока в строке s есть запятые (pos(',',s)>0).
- Внутри цикла переменная n увеличивается на 1.
- В строку a[n] записывается подстрока s, начиная с первого символа и заканчивая позицией запятой в строке s (pos(',',s)-1).
- Строка s удаляется из переменной s (delete(s,1,pos(',',s)).
- Цикл while повторяется.
- Для каждого i от 1 до n/2 (т.е. для четных индексов) выполняется следующий блок кода:
- Строка s присваивается значению a[i].
- Значение a[i] присваивается значению a[n-i+1].
- Значение a[n-i+1] присваивается строке s.
- Создается новый файл с именем 'output.txt' и инициализируется пустым.
- Выполняется цикл for, который проходит по каждому i от 1 до n (т.е. для всех индексов).
- Внутри цикла выполняется команда write(f,a[i]), которая записывает значение a[i] в файл 'output.txt'.
- Если i меньше n, то после записи значения a[i] в файл также выполняется команда write(f,','), чтобы добавить запятую после каждого числа.
- После завершения цикла for закрывается файл 'output.txt' с помощью команды close(f).
- Выводится сообщение 'Файл перезаписан'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д