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

Алгоритм Рабина-Карпа для нахождения кол-ва вхождений подстроки в строку - C++

Восстановить пароль Регистрация
 
Uz
0 / 0 / 0
Регистрация: 05.07.2012
Сообщений: 22
08.07.2012, 01:39     Алгоритм Рабина-Карпа для нахождения кол-ва вхождений подстроки в строку #1
У меня был текстовый файл, в котором элементами были числа, записанные через запятую. Например:
5421,777
254,888
11,82
Надо было найти кол-во вхождений первой строки в остальные. По заданию также нужно было записать эти самые строки в список, элементами которого являются вот эти вот числа, записанные через запятую. Я создал эти два списка. В первом как элементы записаны числа первой строки, во втором всех остальных. Но назрел главный вопрос - как теперь во всём этом добре реализовать алгоритм Рабина-Карпа? То есть найти количество вхождений элементов первого списка во втором? Может быть стоит все элементы списков попробовать записать в строку и находить вхождения так? Но можно ли это сделать? Кто может - проконсультируйте, пожалуйста, буду очень благодарен.
Вот если что - алгоритм записи символов из файла в объекты класса Spisok:
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
37
38
39
40
41
42
43
44
45
46
void main()
{
Spisok elm;
Spisok pers;
ifstream fin("Input.txt");
if (!fin.is_open()) // если файл не открыт
        cout << "Файл не может быть открыт!\n";
int b=0, c=0,sim, simb;
bool f,g;
while (!fin.eof())
{   
    sim=fin.get();
    if(isdigit(sim))
    {
    b = b * 10 + sim - '0';  
    f = true;
    }
    else if (f)
        {
            pers.Add(b);
            b = 0;
            f = false;
        }
    if (sim == '\n')
        break;
    }
 
pers.Show();
while(!fin.eof())
{   simb=fin.get();
    if(isdigit(simb))
    {
    c = c * 10 + simb - '0';  
    g = true;
    }
    else if (g)
        {
            elm.Add(c);
            c = 0;
            g = false;
        }
    }
elm.Show();
fin.close();
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2012, 01:39     Алгоритм Рабина-Карпа для нахождения кол-ва вхождений подстроки в строку
Посмотрите здесь:

Как подсчитать количество вхождений подстроки в строку C++
как работает эта программа(Алгоритм Рабина-Карпа с++)??? C++
Реализация алгоритма Рабина-Карпа для двух однонаправленных линейных списков C++
указатели (посчитать кол-во вхождений подстроки в строку) C++
C++ Определить количество вхождений подстроки в заданную строку
Алгоритм Рабина-Карпа C++
C++ Найти количество и места вхождений подстроки в строку
Усовершенствовать алгоритм Рабина-Карпа, чтобы он искал символьную подматрицу в символьной матрице C++

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

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

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