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