Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 13.09.2015
Сообщений: 3
1

Найти подстроку в строке вручную, не используя strstr, s.find и т.д

15.09.2015, 18:14. Показов 1355. Ответов 2
Метки нет (Все метки)

Также требуется определить временную сложность алгоритма.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2015, 18:14
Ответы с готовыми решениями:

Используя данную функцию, заменить в строке x все вхождения подстроки y в подстроку z
Описать логическую функцию поиск (s, ss, k, n), проверяющую, входит ли подстрока ss в ту часть...

Как использовать функции string::find или функция strstr(str1 ,str2)
как использовать функции string::find или функция strstr(str1 ,str2) Добавлено через 3 минуты...

Найти подстроку в строке
if Pos('load', response)<>0 then begin showmessage(Good); load - то что ищем response - ответ...

Найти подстроку в строке
Здравствуйте Предположим есть строка Меня интересует 😱. Необходимо его найти и...

2
Модератор
Эксперт С++
11030 / 9102 / 5466
Регистрация: 18.12.2011
Сообщений: 24,346
15.09.2015, 18:17 2
Найти подстроку в строке
1
824 / 627 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
16.09.2015, 03:32 3
Лучший ответ Сообщение было отмечено Sofil как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
//в среднем O(2*n) в худшем O(n*m)
const char* s_find(const char* s1, const char* s2){
    const char* a, *b, *p = NULL;
    while(*s1){
        a = s1;
        b = s2;
        while(*b && (*b == *a)){
            ++a;
            ++b;
        }
 
        if(! *b){
            p = s1;
            break;
        }
        ++s1;
    }
    return p;
}
 
int main(void) {
    char s[] = "приключение ёжика в лесу.";
 
    const char* p = s_find(s, "ёжик");
    if(p != NULL)
        std::cout << p << std::endl;
    return 0;
}
Пример работы кода
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2015, 03:32

Найти подстроку в строке
здравствуйте! Есть строка типа такого...

Найти подстроку в строке
#include &lt;iostream&gt; int main(){ char *ch=&quot;fdsfdsf&quot;; char *ch1=&quot;ddsfdsf&quot;; int...

Найти подстроку в строке
Здраствуйте. У меня есть 3 строки: &quot;From&quot; : &quot;pochta1@gmail.com&quot;, &quot;Subject&quot; : &quot;Subject1&quot; ...

Найти подстроку в строке.
Как мне найти какую-то подстроку в строке? Я использую функцию strstr, но у меня ничего не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.