Поиск подстроки в строке - вопрос №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 не входит».
05.06.22
0 ответов
Ответов пока нет
Посмотреть всех экспертов из раздела Технологии > .Net/C#
0 ответов
29.04.22
Вопрос задан анонимно
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store