Форум программистов, компьютерный форум CyberForum.ru

Составьте программу bmall.c, осуществляющую поиск всех вхождений подстроки S в строку T - C++

Восстановить пароль Регистрация
 
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
11.01.2014, 17:19     Составьте программу bmall.c, осуществляющую поиск всех вхождений подстроки S в строку T #1
Составьте программу bmall.c, осуществляющую поиск всех вхождений подстроки S в строку T. В программе должен быть реализован алгоритм Бойера-Мура, изменённый таким образом, чтобы при нахождении очередного вхождения S в T алгоритм не завершался, а продолжал сканировать строку T.

алгоритм накопал:
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
31
32
33
34
int BMsearch(char* str, const char* word)
{
    int N=strlen(str);
    int M=strlen(word);
 
    int* d=new int[256];
    int i;
    for(i=0;i<256;i++)
        d[i]=M;
    
    for(i=0;i<M-1;i++)
        d[(unsigned char)word[i]]=M-i-1;
 
    int result;
    for(i=M;i<=N;i+=d[(unsigned char)str[i-1]])
    {
        int j, k;
        for(j=M-1, k=i-1;j>=0 && str[k]==word[j]; k--, j--);
        if(j<0)
        {
            result=i-M;
            break;
        }
        if(i==N)
        {
            result=-1;
            break;
        }
    }
 
    delete d;
 
    return result;
}
да вот как задачу решить не знаю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 17:19     Составьте программу bmall.c, осуществляющую поиск всех вхождений подстроки S в строку T
Посмотрите здесь:

C++ поиск всех вхождений шаблона в строку
Как подсчитать количество вхождений подстроки в строку C++
Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. C++
указатели (посчитать кол-во вхождений подстроки в строку) C++
C++ Определить количество вхождений подстроки в заданную строку
C++ Как ускорить работу (поиск вхождений подстроки)?
C++ Найти количество и места вхождений подстроки в строку
C++ Функции посчитывающие количество вхождений подстроки в строку, реализация через char* и через шаблон

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru