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

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

  1. Создается переменная f типа text и присваивается значение 'input.txt'. Эта переменная будет использоваться для чтения из текстового файла.
  2. Выполняется команда reset(f), которая подготавливает файл для чтения.
  3. Выполняется команда readln(f,s), которая читает строку из файла и сохраняет ее в переменной s.
  4. Строка s удлиняется на один символ, используя оператор конкатенации (s:=s+',').
  5. Закрывается файл f с помощью команды close(f).
  6. Переменная n инициализируется значением 0.
  7. Запускается цикл while, который выполняется до тех пор, пока в строке s есть запятые (pos(',',s)>0).
  8. Внутри цикла переменная n увеличивается на 1.
  9. В строку a[n] записывается подстрока s, начиная с первого символа и заканчивая позицией запятой в строке s (pos(',',s)-1).
  10. Строка s удаляется из переменной s (delete(s,1,pos(',',s)).
  11. Цикл while повторяется.
  12. Для каждого i от 1 до n/2 (т.е. для четных индексов) выполняется следующий блок кода:
    • Строка s присваивается значению a[i].
    • Значение a[i] присваивается значению a[n-i+1].
    • Значение a[n-i+1] присваивается строке s.
  13. Создается новый файл с именем 'output.txt' и инициализируется пустым.
  14. Выполняется цикл for, который проходит по каждому i от 1 до n (т.е. для всех индексов).
  15. Внутри цикла выполняется команда write(f,a[i]), которая записывает значение a[i] в файл 'output.txt'.
  16. Если i меньше n, то после записи значения a[i] в файл также выполняется команда write(f,','), чтобы добавить запятую после каждого числа.
  17. После завершения цикла for закрывается файл 'output.txt' с помощью команды close(f).
  18. Выводится сообщение 'Файл перезаписан'.

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


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

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

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