Обработка строки: удаление подстроки, подсчет заданных символов - 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.

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

  1. Переменная s типа String, в которую считывается строка с помощью функции Readln.
  2. Переменная i типа Byte инициализируется значением 1, используется для перебора символов в строке.
  3. Переменная k типа Byte инициализируется значением 0, используется для подсчета количества точек в строке.
  4. С помощью цикла For происходит перебор всех символов строки.
  5. Если текущий символ равен точке, то значение переменной k увеличивается на 1.
  6. Если количество точек в строке больше 5, то выполняется следующий блок кода.
  7. С помощью цикла For происходит обратный перебор символов строки, начиная с последнего.
  8. Если текущий и следующий символы равны BB, то вставка строки ** между ними с помощью функции Insert.
  9. Пока в строке есть подстрока PPP, то с помощью цикла While выполняется удаление этой подстроки с помощью функции Delete, начиная с первого вхождения и удаляя 3 символа.
  10. Вывод строки на экран с помощью функции Writeln.

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


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

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

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