Программа должна считать, сколько раз в строке S встречается подстрока '12'. Какой оператор надо вставить...

Тематика Информатика
Уровень 10 - 11 классы
подсчет подстроки строковые операции операторы программирование алгоритмы повторение условие подсчет вхождений цикл работа со строками
0

Программа должна считать, сколько раз в строке S встречается подстрока '12'. Какой оператор надо вставить вместо многоточия? Вводите ответ без пробелов. c := 0; repeat . if p <> 0 then begin c := c + 1; Delete ( S, 1, p+1) end; until p = 0;

avatar
задан 5 месяцев назад

2 Ответа

0

p := Pos('12', S);

avatar
ответил 5 месяцев назад
0

Для решения данной задачи, необходимо определить позицию подстроки '12' в строке S, используя соответствующую функцию, и затем повторить процесс, пока подстрока '12' больше не будет найдена. В языке Pascal для нахождения подстроки используется функция Pos.

Таким образом, недостающий оператор, который нужно вставить вместо многоточия, является вызовом функции Pos для подстроки '12' в строке S. После этого нужно обновлять строку S, удаляя найденную подстроку и всё, что было перед ней, чтобы продолжить поиск оставшихся вхождений.

Вот корректный код с вставкой оператора:

c := 0; 
repeat 
  p := Pos('12', S); 
  if p  0 then 
  begin 
    c := c + 1; 
    Delete(S, 1, p + 1) 
  end; 
until p = 0;

Разберёмся, как работает этот код:

  1. Инициализация переменной c: Переменная c используется для подсчёта количества вхождений подстроки '12'. Изначально она равна 0.

  2. Цикл repeat.until: Этот цикл будет продолжаться до тех пор, пока подстрока '12' находится в строке S.

  3. Вызов функции Pos: Оператор p := Pos('12', S); ищет первое вхождение подстроки '12' в строке S и возвращает позицию начала вхождения. Если подстрока не найдена, Pos возвращает 0.

  4. Проверка условия: Если p 0, значит, подстрока '12' найдена в строке S.

  5. Увеличение счётчика: Если подстрока найдена, увеличиваем счётчик c на 1.

  6. Удаление части строки: Оператор Delete(S, 1, p + 1); удаляет из строки S часть, начиная с первого символа и до конца найденной подстроки '12'. Это позволяет продолжить поиск в оставшейся части строки.

  7. Повторение цикла: Цикл продолжается до тех пор, пока подстрока '12' находится в строке S.

Таким образом, программа подсчитывает все вхождения подстроки '12' в строку S.

avatar
ответил 5 месяцев назад

Ваш ответ

Вопросы по теме