Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
rostovskii_jeko
0 / 0 / 0
Регистрация: 24.08.2015
Сообщений: 37
#1

Поиск подстроки в строке

20.10.2016, 12:59. Просмотров 117. Ответов 0
Метки нет (Все метки)

добрый день, товарищи
возникло небольшое задание
найти все слова, состоящие из одной буквы, в большом тексте
я сделал сейчас вот что:
заменил все знаки препинания в исходной стоке на пробелы, а после ищу совпадения, скажем, на строку " в ",
используя при этом алгоритм кнута-морриса-пратта(по заданию ЛР именно его нужно использовать)

скопировал из методички:
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
35
36
int KMPSearch(char *string, char *substring) {
    int  sl, ssl;
    int res = -1;
    sl = strlen(string);
    ssl = strlen(substring);
    if (sl == 0)
        std::cout << "Неверно задана строка\n";
    else if (ssl == 0)
        std::cout << "Неверно задана подстрока\n";
    else {
        int  i, j = 0, k = -1;
        int  *d;
        d = new int[1000];
        d[0] = -1;
        while (j < ssl - 1) {
            while (k >= 0 && substring[j] != substring[k])
                k = d[k];
            j++;
            k++;
            if (substring[j] == substring[k])
                d[j] = d[k];
            else
                d[j] = k;
        }
        i = 0;
        j = 0;
        while (j < ssl && i < sl) {
            while (j >= 0 && string[i] != substring[j])
                j = d[j];
            i++;
            j++;
        }
        delete[] d;
        res = j == ssl ? i - ssl : -1;
    }
    return res;
как можно сделать, чтобы при вызове функции находилась не строго определенная строка, а любая, которая удовлетворяет такой маске " ? " ?
можно, конечно, просто перечислить все подходящие строки, вызывая кучу раз функцию с разными аргументами, но это не элегантно.
алгоритм модифицировать не воспрещается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2016, 12:59
Ответы с готовыми решениями:

Поиск подстроки в строке
Здравствуйте. Очень нужна программа поиска подстроки в строке. Действительно оч...

Поиск подстроки в строке
Здравствуйте. Задача такова: есть список (вообще, список большой, и не имеет в...

Поиск подстроки в строке
Вообщем,не знаю почему в программе не работает считывание с файла,если в...

Поиск подстроки в строке
Вот код программы, почему всегда выводит 0? В чем проблема? #include...

Поиск подстроки в строке
Найти множество всех слов, которые встречаются в каждом из 2 заданных...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2016, 12:59

Поиск подстроки в строке
Добрый день. Ошибка в программе. Первый раз ищет отлично, потом постоянно...

Поиск подстроки в строке
Добрый день всем! Ребята помогите решить такую задачу. Мне нужно в строке char...

Поиск подстроки в строке
Уважаемые форумчане, помогите написать программу для поиска подстроки &quot;vvo&quot; в...


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

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

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