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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zarik
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 22
#1

нужно найти наибольшую общую подстроку - C++

18.04.2012, 17:51. Просмотров 700. Ответов 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
void GetLargestCommonSubstring(string & result, const string & a, const string & b) {
    const int a_size = a.size();
    const int b_size = b.size();
 
    typedef vector<int> solution;
 
    const int solution_size = b_size + 1;
    solution x(solution_size, 0), y(solution_size);
 
    solution * previous = &x;
    solution * current = &y;
 
    int max_length = 0;
    int result_index = 0;
 
    for(int i = a_size - 1; i >= 0; i--) {
        for(int j = b_size - 1; j >= 0; j--) {
            if(a[i] != b[j]) {
                (*current)[j] = 0;
            }
            else {
                const int length = 1 + (*previous)[j + 1];
                if (length > max_length) {
                    max_length = length;
                    result_index = i;
                }
 
                (*current)[j] = length;
            }
        }
 
        swap(previous, current);
    }
 
    result = a.substr(result_index, max_length);
}
я начинаюший, мне нужно просто перевести код с++ в с, а то я Этого не понимаю
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 17:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нужно найти наибольшую общую подстроку (C++):

Найти наибольшую общую подпоследовательность двух последовательностей - C++
Задача об отыскании наибольшей общей подпоследовательности (динамическое программирование). Даны две последовательности символов (строки),...

В двух строках найти подстроки и наибольшую подстроку - C++
char *beg_a , *beg_b; char a = &quot;Father is strong&quot;; char b = &quot;In math give bool str&quot;; char temp; int end_a,end_b,i; ...

Найти самую длинную общую подстроку двух строк - C++
Помогите пожалуйста с решением данной задачи,сам пробывал кроме библиотек и нескольких начальных строчек больше ничего не удалось(изучаю си...

выделить из строки наибольшую монотонную подстроку - C++
помогите.очень нужно) написать программу-выделить из строки наибольшую монотонную подстроку(коды последовательных символов отличаются на...

Структура: Нужно найти общую массу мужчин - C++
Известен вес и пол каждого из 20 мужчин.Нужно найти их общую массу.Помогите написать программу с помощью структур на языке с++.Данные...

Нужно найти общую максимальную прибыль трёх магазинов за день - C++
Всем привет. В этом задании мне нужно найти общую максимальную прибыль за день. Т.е сложить прибыль трех магазинах за каждый день. Я сделал...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2012, 17:51
Привет! Вот еще темы с ответами:

Как эффективно заменить подстроку в строке на другую подстроку? - C++
И если у подстрок разная длина? есть проверенный готовый способ?

Найти общую площадь - C++
Вот задачка. Можете подсказать идейку, как ее решить? Код я могу и сама написать. Может с помощью множеств?

Найти подстроку - C++
Подскажите пожалуйста!! как найти подстроку в строке???? очень нужно,заранее спасибо

Найти наибольшую трапецию - C++
Помогите пожалуйста, эта программа ищет наибольший прямоугольник, нужно исправить, чтобы она искала наибольшую трапецию #include...


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

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

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