В текстовом файле содержится строка из слов - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

В текстовом файле содержится строка из слов,разделенных запятыми. Создать новый файл , в котором слова записаны в обратном порядке( запятые после слов сохраняются) Например исходный файл: мама, мыла, раму Тогда новый: раму, мыла, мама Пожалуйста помогите!!!

Решение задачи: «В текстовом файле содержится строка из слов»

textual
Листинг программы
  1. var f:text;
  2.     s:string;
  3.     a:array[1..100] of string;
  4.     n,i:byte;
  5. begin
  6. assign(f,'input.txt');//файл в папке с програмой
  7. reset(f);
  8. readln(f,s);
  9. s:=s+',';
  10. close(f);
  11. n:=0;
  12. while pos(',',s)>0 do
  13.  begin
  14.   n:=n+1;
  15.   a[n]:=copy(s,1,pos(',',s)-1);
  16.   delete(s,1,pos(',',s));
  17.  end;
  18. for i:=1 to n div 2 do
  19.  begin
  20.   s:=a[i];
  21.   a[i]:=a[n-i+1];
  22.   a[n-i+1]:=s;
  23.  end;
  24. assign(f,'output.txt');
  25. rewrite(f);
  26. for i:=1 to n do
  27.  begin
  28.   write(f,a[i]);
  29.   if i<n then write(f,',');
  30.  end;
  31. close(f);
  32. writeln('Файл перезаписан')
  33. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы