Технологии

Поиск подстроки в строке - вопрос №4783396

Задана строка S из N элементов и строка Р из M элементов. string S[N], P[M]; Задача поиска подстроки P в строке S заключается в нахождении первого слева вхождения P в S, т.е. найти значение индекса i, начиная с которого

S[i] = P[0], S[i + 1] = P[1],…, S[i + M – 1] = P[M – 1].

Алгоритм прямого поиска подстроки в строке

1. Установить i на начало строки S, т.е. i = 0. 2. Проверить, не вышло ли i + M за границу N строки S. Если да, то алгоритм завершен (вхождения нет). 3. Начиная с i-го символа s провести посимвольное сравнение строк S и Р, т. е. S[i] и P[0], S[i+1] и P[1],…, S[i + M – 1] и P[M – 1]. 4. Если хотя бы одна пара символов не совпала, то увеличить i и повторить шаг 2, иначе алгоритм завершен (вхождение найдено). Требуется написать функцию, которая возвращает номер в строке S начала первого вхождения подстроки, если оно есть, или -1, если вхождения нет. В главной функции main требуется ввести строки S и P, обратиться к функции, найти первое вхождение, и выдать результат в виде: если вхождение есть, написать «Подстрока Р входит в строку S с позиции...», если вхождения нет, пишем «подстрока P в строку S не входит».

июнь 5, 2022 г.

  • Всего ответов: 0

Похожие вопросы

судебная экспертиза

март 14, 2023 г.

Технологии

Visual studio c#

Вопрос задан анонимно апрель 29, 2022 г.

Технологии