Обработка строки: удаление подстроки, подсчет заданных символов - Pascal
Формулировка задачи:
Вводится строчка.
а)Удалить все "РРР"
б)определить сколько раз в строчке встречается "."
с)Если больше 5 раз, то вставить "**" в группу "ВВ".
ПОМОГИТЕ ПОЖАЛУЙСТА
Решение задачи: «Обработка строки: удаление подстроки, подсчет заданных символов»
textual
Листинг программы
Var s: String; i,k: Byte; BEGIN Write('Введите строку: '); Readln(s); For i:=1 to Length(s) do If s[i]='.' Then Inc(k); If k>5 Then For i:=Length(s) downto 1 do If (s[i]='B') and (s[i+1]='B') Then Insert('**',s,i+1); While Pos('PPP',s)<>0 do Delete(s,Pos('PPP',s),3); Writeln(s); END.
Объяснение кода листинга программы
- Переменная
s
типа String, в которую считывается строка с помощью функции Readln. - Переменная
i
типа Byte инициализируется значением 1, используется для перебора символов в строке. - Переменная
k
типа Byte инициализируется значением 0, используется для подсчета количества точек в строке. - С помощью цикла For происходит перебор всех символов строки.
- Если текущий символ равен точке, то значение переменной
k
увеличивается на 1. - Если количество точек в строке больше 5, то выполняется следующий блок кода.
- С помощью цикла For происходит обратный перебор символов строки, начиная с последнего.
- Если текущий и следующий символы равны
BB
, то вставка строки**
между ними с помощью функции Insert. - Пока в строке есть подстрока
PPP
, то с помощью цикла While выполняется удаление этой подстроки с помощью функции Delete, начиная с первого вхождения и удаляя 3 символа. - Вывод строки на экран с помощью функции Writeln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д