Отформатировать восклицательные знаки в строке - Pascal ABC
Формулировка задачи:
Замена в строках. Дана строка. Отформатировать восклицательные знаки в строке.
Решение задачи: «Отформатировать восклицательные знаки в строке»
textual
Листинг программы
program z1717811; var i:integer; s:string; begin cls; writeln('Введите текст:'); readln(s); i:=1; while i<length(s) do if (s[i]=' ') and ((s[i+1]=' ') or (s[i+1]='!')) then delete(s,i,1) else i:=i+1; //if (s[1]=' ') then delete(s,1,1); //if (s[length(s)]=' ') then delete(s,length(s),1); i:=1; while i<length(s) do begin if (s[i]='!') and (s[i+1]<>' ') then begin insert(' ',s,i+1); i:=i+1 end; i:=i+1; end; writeln(s) end.
Объяснение кода листинга программы
- Программа начинается с объявления переменных
i
иs
. Переменнаяi
является целочисленной, а переменнаяs
является строкой. - Выводится сообщение «Введите текст:», чтобы пользователь мог ввести строку.
- С помощью функции
readln(s)
происходит чтение строки из ввода пользователя и сохранение её в переменнуюs
. - Инициализируется переменная
i
со значением 1. - Запускается цикл
while i<length(s)
(цикл будет выполняться до тех пор, пока значение переменнойi
меньше длины строкиs
). - Внутри цикла проверяется условие: если текущий символ в строке
s
является пробелом и следующий символ также является пробелом или знаком восклицания, то символ восклицания удаляется из строки. - Если условие не выполняется, то переменная
i
увеличивается на 1. - После завершения внутреннего цикла, переменная
i
снова инициализируется со значением 1. - Запускается внешний цикл
while i<length(s)
(цикл будет выполняться до тех пор, пока значение переменнойi
меньше длины строкиs
). - Внутри внешнего цикла проверяется условие: если текущий символ в строке
s
является знаком восклицания и следующий символ не является пробелом, то знак восклицания заменяется на пробел. - Если условие не выполняется, то переменная
i
увеличивается на 1. - После завершения внешнего цикла, выводится отформатированная строка
s
с помощью функцииwriteln(s)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д