Из каждого слова заданного текста удалить последнюю букву - Free Pascal
Формулировка задачи:
Привет всем, помогите в написании программы.
Из каждого слова заданного текста удалить последнюю букву.
Решение задачи: «Из каждого слова заданного текста удалить последнюю букву»
textual
Листинг программы
uses crt; const rz=[' ',',','.']; //разделители слов, можно добавить var s:string; i:byte; begin clrscr; writeln('Введите текст:'); readln(s); s:=s+' '; i:=1; while i<=length(s)-1 do if not(s[i] in rz)and(s[i+1] in rz) then delete(s,i,1) else inc(i); writeln('Удаление последних букв слов'); writeln(s); readln end.
Объяснение кода листинга программы
- Объявление переменных:
- s:string; строка для хранения введенного текста
- i:byte; переменная для подсчета символов в строке
- Ввод текста с помощью функции readln(s);
- Добавление пробела в конец строки s, чтобы разделить слова: s := s + ' ';
- Установка значения i равным 1 для начала цикла;
- Запуск цикла while, который будет выполняться до тех пор, пока i меньше или равно длине строки s минус один:
- Проверка условия: если символ s[i] не является разделителем (не входит в список rz) и следующий символ является разделителем, то удаление символа s[i] с помощью функции delete(s,i,1);
- Увеличение значения i на 1, чтобы перейти к следующему символу
- Вывод на экран сообщение
Удаление последних букв слов
и саму строку s; - Ожидание ввода с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д