В текстовом файле содержится строка из слов - 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).
- Выводится сообщение 'Файл перезаписан'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д