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

Как можно найти вхождение подстроки в строку без строковых функций?

29.04.2013, 21:52. Просмотров 710. Ответов 5
Метки нет (Все метки)

Как можно найти вхождение подстроки в строку без строковых функций?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2013, 21:52
Ответы с готовыми решениями:

Найти последнее вхождение подстроки в строку
Нужно нати последнее вхождение определенной подстроки в строку. Help!

Вхождение подстроки в строку
Не правильно считает вхождение подстроки в строку,данные читаются из файлов. int _tmain() {...

Вхождение подстроки в строку
Реализовать поиск вхождения подстроки в строку.Сначала осуществляется ввод двух строк, затем...

Вхождение подстроки в строку
Написать функцию , котоpая находит пеpвую по поpядку позицию вхождения подстpоки в указанную...

5
243 / 244 / 38
Регистрация: 08.04.2013
Сообщений: 927
29.04.2013, 22:23 2
Тупо перебрать по всей длине строки, то есть, берете первый элемент, смотрите сходятся ли первые буквы подстроки и строки, если да, то сверяете след буквы, если нет, то аналогично сравниваете второй элемент строки с первой буквой подстроки.... и так до конца, только не вылезьте за пределы массива
1
12 / 7 / 3
Регистрация: 06.01.2013
Сообщений: 127
29.04.2013, 22:38  [ТС] 3
Цитата Сообщение от metaluga145 Посмотреть сообщение
Тупо перебрать по всей длине строки
Это самый примитивный и очевидный вариант, так сказать атака в лоб Думал, может у кого есть идеи похитрее, но похоже так делать и придется

Добавлено через 3 минуты
Да и еще в плане "оптимизации" не самый лучший вариант, тут скорее всего будет произведено количество операции где-то в районе произведения количества элементов строки на кол-во элементов подстроки
0
243 / 244 / 38
Регистрация: 08.04.2013
Сообщений: 927
29.04.2013, 22:39 4
Wladius, почитайте как устроена функция поиска вхождения подстроки в строку. Думаю, она точно такая же примитивная.
1
12 / 7 / 3
Регистрация: 06.01.2013
Сообщений: 127
29.04.2013, 22:42  [ТС] 5
Цитата Сообщение от metaluga145 Посмотреть сообщение
Wladius, почитайте как устроена функция поиска вхождения подстроки в строку. Думаю, она точно такая же примитивная.
Действительно хорошая идея, нужно посмотреть.
Если кому-то интересно, то нашел разбор различных алгоритмов поиска http://habrahabr.ru/post/113266/
0
1450 / 787 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.04.2013, 23:01 6
Можно еще с Boost нужный алгоритм поиска подобрать. К примеру:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <vector>
#include <boost/algorithm/string.hpp>
 
int main()
{
    std::string input = "Search the input using the given finder.";
    std::string seach = "in";
    std::vector<std::string> result;
    boost::find_all(result, input, seach);
    
    std::cout<<"result = ";
    for (const auto& i : result) std::cout<<i<<" ";
    std::cout<<"\nFounded "<<result.size()<<" matches.";
    std::cout<<"\n";
    
    return 0;
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2013, 23:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как можно найти в переменной типа string вхождение подстроки?
здравствуй Народ. у меня к тебе есть пара вопросов: 1. можно ли в vba каким либо образом...

Удалять каждое второе вхождение подстроки в строке без стандартных функций Паскаля
Лабораторная. Нельзя использовать &quot;... стандартные функции для работы со строками (за исключением...

Как определить второе вхождение подстроки S в строку S?
Добрый день. Функция Pos( subS, S : string ) : integer определяет первое вхождение подстроки S в...

Как найти третье вхождение подстроки?
есть ли в vbs функция нахождения позиции n-го вхождения подстроки в строку?


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

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

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