Из каждого слова заданного текста удалить последнюю букву - 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.

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

  1. Объявление переменных:
    • s:string; строка для хранения введенного текста
    • i:byte; переменная для подсчета символов в строке
  2. Ввод текста с помощью функции readln(s);
  3. Добавление пробела в конец строки s, чтобы разделить слова: s := s + ' ';
  4. Установка значения i равным 1 для начала цикла;
  5. Запуск цикла while, который будет выполняться до тех пор, пока i меньше или равно длине строки s минус один:
    • Проверка условия: если символ s[i] не является разделителем (не входит в список rz) и следующий символ является разделителем, то удаление символа s[i] с помощью функции delete(s,i,1);
    • Увеличение значения i на 1, чтобы перейти к следующему символу
  6. Вывод на экран сообщение Удаление последних букв слов и саму строку s;
  7. Ожидание ввода с помощью функции readln.

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


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

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

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