Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Изъять предложение из строки Прошу помощи с заданием, буду очень благодарен. Задание следующее: Изъять из строки(как я понимаю она задается пользователем в процессе выполнения программы) второе предложение, если в нем есть скобки, и заменить его на длину этого предложения в противоположном случае. Задание нужно выполнить используя библиотеки string или string.h. https://www.cyberforum.ru/ cpp-beginners/ thread1863022.html C++ Что здесь неправильно?
Решаю задачу про "Зайчика", В нашем зоопарке появился заяц. Его поместили в клетку, и чтобы ему не было скучно, директор зоопарка распорядился поставить в его клетке лесенку. Теперь наш зайчик может прыгать по лесенке вверх, перепрыгивая через ступеньки. Лестница имеет определенное количество ступенек N. Заяц может одним прыжком преодолеть не более К ступенек. Для разнообразия зайчик пытается...
C++ Использование двумерных массивов вроде компилируется, но когда программа загружается, то она выбивает, пишет остановка #include <iostream> using namespace std; main () { const int nrow=5, ncol=7; int a; int i, j; int count=0; int count1=0; https://www.cyberforum.ru/ cpp-beginners/ thread1863012.html C++ Найти слова, в которых есть цифры и буквы латинского алфавита Задание такое:Дана строка. Словом текста является последовательность цифр и букв латинского алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова, в которых есть цифры и буквы латинского алфавита. Все остальные слова удалить. Не получается сделать так, чтоб он искал все числа от 0 до 9(проверял нет ли их в слове), и выписал... https://www.cyberforum.ru/ cpp-beginners/ thread1862966.html
Считывание значений из файла (преобразование char в int) C++
Доброго времени суток. Столкнулся с такой проблемой. Была произведена запись числового массива int16 в файл в таком виде: ff.write((char*)&data16, 2); Соответственно data16 имеет тип int16. Запись в таком виде предусматривает мое задание. Собственно проблема в считывании записанных значений. Пример: Первое записанное число -26149, в записанном виде оно имеет вид "-37Ы". При считывании я...
C++ Перевод значений из строки в int, квадратное уравнение https://www.cyberforum.ru/ cpp-beginners/ thread1862937.html
Как вывести значения a,b,c, заданные пользователем строкой в формате aXX-bX-c= //
C++ Перегрузка оператора + Делаю класс полиномов, которые можно складывать и перемножать. Каждый член полинома есть отдельный класс под названием Term. в классе Term перегружаю оператор сложения. Как всем известно, нельзя сложить члены полинома с разной степенью икс. Что вы мне посоветуете сделать, если вдруг будет попытка сложить термы с разной степенью икс, что возвращать? ------------------------------- Сделать... https://www.cyberforum.ru/ cpp-beginners/ thread1862934.html C++ Метод скорейшего спуска для решения СЛАУ
Доброго времени суток всем! Столкнулся с проблемой. Нужно написать программу решения СЛАУ методом скорейшего спуска. В Паскале не силен. Написал на С++: { double *rk; //невязка double *xk; double *xk1; double *t; double tau,sm,smd; ax=new double ;
C++ Метод минимальных невязок для решения СЛАУ https://www.cyberforum.ru/ cpp-beginners/ thread1862919.html
Доброго времени суток всем! Столкнулся с проблемой. Нужно написать программу решения СЛАУ методом минимальных невязок. В Паскале не силен. Написал на С++: { double *rk; //невязка double *t; //вспомогательный вектор double *xk; double *xk1; double tau,sm,nrm; ax=new double ;
C++ Преобразование double во время (char) год, месяц, день, часы секунды, минуты Здравствуйте, форумчане. Подскажите как получить текущее время, сохранить его в double, а потом преобразовать скажем в строку char*. Есть много разных решений и библиотек. Есть ли решение универсальное для Windows и Unix. У меня есть метод класса createLog, один из параметров time типа double хочу туда передать текущее время, а потом мне надо эту структуру записать в файл, но время time нужно... https://www.cyberforum.ru/ cpp-beginners/ thread1862912.html
C++ Найти минимальный элемент матрицы
рябят,подскажите пожаста как найти минимальный елемент етой матрицы #include <iostream> #include<math.h> using namespace std; int main() { const int n=8, m=10; int a ;
C++ Проверить правильность расстановки в тексте круглых скобок. Текст заканчивается точкой Работает,но неправильно. Сделала конечным автоматом. Помогите, пожалуйста! #include <iostream> #include <string> #include <cmath> using namespace std; int main() { enum {RB,LB,OTHER,POINT}; enum {START,HAS_B,NO_B,L_B,R_B,END,ERROR}; int text; https://www.cyberforum.ru/ cpp-beginners/ thread1862906.html
1 / 1 / 0
Регистрация: 27.02.2016
Сообщений: 10
0

Алгоритм Рабина-Карпа - C++ - Ответ 9828037

28.11.2016, 23:40. Показов 1037. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
в данной лабораторной не работает только самая главная часть-поиск подстроки,казалось бы на алгоритм тот,но что то не получается ,буду очень благодарен за любую помощь
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
zagalovok.h
#include <iostream>
#include <Windows.h>
#include <string>
#include <fstream>
#include <vector>
#pragma warning(disable: 4996)
using namespace std;
class RK
{
private:
    char s[256];
    int r[256];
    string t;
    string h;
    vector<int> g;
    int um = 113;
    int o = 0;
public:
    void vvod();
    void schitivanie();
    void perevod();
    void poisk();
    void vivod();
    int  prom(int j, int i);
};
main.cpp
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//АЛГОРИТМ РАБИНА-КАРПА
//Реализовать быстрый алгоритм поиска строки в файле.
//На вход программа получает текстовый файл,
//а строка для поиска вводится с клавиатуры.
//Программа должна вывести на экране участки текста, в которых найдена строка.
#include "zagalovok.h"
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    RK r;
    r.vvod();
    r.schitivanie();
    r.perevod();
    r.poisk();
    //r.vivod();
}
funkzii.cpp
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
        #include "zagalovok.h"
void RK::vvod()
{
    char c;
    int i = 0;
    cout << "Введите искомую строку" << endl;
    while ((c = getchar()) != '\n')//заполняем строку,которую необходимо найти в тексте
    {
        s[i] = c;
        i++;
    }
    s[i] = '\0';
}
void RK::schitivanie()
{
    int ch=0;
    ifstream ifs;
    ifs.open("1.txt");
    while ((ch = ifs.get()) != EOF)
    {
        t.push_back(char(ch));
    }
}
void RK::perevod()
{
    int i = 0;
    int p = 0;
    int j = 0;
    while (s[i] != '\0')
    {
        if (s[i] == ' ' || s[i] == '\n')
        {
            g.push_back(p);
            g.push_back(j);
            p = 0;
            o++;
            j = 0;
        }
        else
        {
            j++;
            p = p + (int)s[i] * um;
        }
        i++;
    }
    g.push_back('\0');
    /*vector<int>::iterator it;
    for (it = g.begin(); it<g.end(); ++it)
    {
        cout << *it << ends;
    }*/
}
void RK::poisk()
{
    int i = 0;         /////////////////ОШИБКА ЗДЕСЬ
    int j = 0;
    int p = 0;
    int e = 0;
    p = prom(j, i);
    while (i != t.size())
    {
        if (p == g[j])
        {
            cout << "1" << endl;
            r[e] = i;
            r[e + 1] = i + g[j + 1] - 1;
            i = i + g[j];
            j = j + 2;
            e = e + 2;
            prom(j, i);
        }
        if (p != g[j])
        {
            p = p - ((int)t[i] * um) + ((int)t[i + g[j + 1]] * um);
        }
        i++;
    }
    r[e + 1] = '\0';
}
int  RK::prom(int j, int i)
{
    int p = 0;
    for (int k = i; k < g[j + 1]; k++)
    {
        p = p + (int)t[k] * um;
    }
    return p;
}
void RK::vivod()
{
    int i = 0;
    int j = 0;
    int p = 0;
    int s = g.size();
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    while (t[i] != '\0')
    {
        p = r[j];
        if (i ==p)
        {
            SetConsoleTextAttribute(hConsole, (WORD)((15 << 4) | 0));
            for (int e = 0; i-1 != r[j+1]; e++, i++)
            {
                cout << t[i];
            }
            j=j+2;
            SetConsoleTextAttribute(hConsole, (WORD)((7 << 0) | 4));
        }
        else
        {
            cout << t[i];
        }
        i++;
    }
}


Вернуться к обсуждению:
Алгоритм Рабина-Карпа C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2016, 23:40
Готовые ответы и решения:

Алгоритм Рабина-Карпа
Всем доброго времени суток! Имеется код Алгоритма Рабина-Карпа, поиск подстроки в строке. Сегодня...

Алгоритм Рабина-Карпа, нужны комментарии к коду
Привет всем. Столкнулся с задачей разобраться с кодом алгоритма рабина карпа. Объясните пожалуйста...

Усовершенствовать алгоритм Рабина-Карпа, чтобы он искал символьную подматрицу в символьной матрице
У меня есть этот алгоритм. Кто знает, как усовершенствовать его, чтобы он искал символьную...

Реализация алгоритма Рабина-Карпа для двух однонаправленных линейных списков
Здравствуйте! Собственно, вопрос находится в заголовке: у меня описано два списка, надо этим...

0
28.11.2016, 23:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2016, 23:40
Помогаю со студенческими работами здесь

(ищу алгоритм) Хопкрофта-Карпа
Люди, помогите пожалуйста. Есть у кого реализация алгоритма Хопкрофта-Карпа? Весь интернет излазил...

Алгоритм шифрования Рабина
Привет всем! :) Очень нужен исходник на С++ или С# для алгоритма шифрования/дешифрования Рабина....

Алгоритм Рабина-Карпа
Необходимо написать программу на ассемблере которая будет выполнять поиск строки в тексте по...

Алгоритм Рабина Карпа
Здравствуйте форумчане, снова нуждаюсь в помощи. Помогите реализовать одну вещь алгоритмом...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru