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

Сделать из двух строк одну, включающую их, как подпоследовательности

17.01.2016, 10:11. Просмотров 334. Ответов 5
Метки нет (Все метки)

Привет, задача заключается в том, что даётся две строки. Из них нужно сделать строку минимальной длины, которая будет включать данные, как подпоследовательности символов. Например: abca и caba объединяются в строку
cabca
cabca
А ab и ac объединяются в строку
abc
abc (или acb)


Единственный минус, что это надо сделать либо одномерным дп или чем-то другим...
(Я знаю, как делать двумерным дп)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2016, 10:11
Ответы с готовыми решениями:

Из двух строк сделать одну, в которой поочередно будут символы двух строк
Из двух строк сделать одну, в котором поочередно будут символы двух строк.

Как вывести одну строку состоящую из двух строк ?
как вывести на экран одну строку состоявшиеся из двух строк ? в с++

Из двух строк сделать одну, в которой нечетные слова из первой строки, а четные слова - из второй
как из 2 введенных строк сделать одну, в которой нечетные слова из 1 строки, а четные слова из...

Как сделать из двух таблиц одну?
Подскажите, пожалуйста как сделать из двух таблиц одну? Я в этом деле новичок, так что сильно не...

Как сделать из двух функций одну)
void Resize_Array_unsigned_int( unsigned int &_New_Size_, unsigned int *_Conteiner_ ) { unsigned...

5
yrceus
84 / 84 / 80
Регистрация: 25.08.2013
Сообщений: 336
17.01.2016, 15:51 2
Все правильно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string x1, x, y;
    decltype(x.size()) m;
    cin >> x >> y;
    x1 = x; 
    for (auto z : y) {
        for (m = 0; m < x.size(); ++m)
            if (x[m] == z) { 
                x[m] = '\0';
                break; 
            }
        if (m == x.size()) 
            x1 += z;
    }
    cout << x1 << endl;
    return 0;
}
0
flyce32
0 / 0 / 1
Регистрация: 24.05.2015
Сообщений: 128
17.01.2016, 16:25  [ТС] 3
Нет ) У вас даже первый пример не работает...
Тут не всё так просто, поэтому я жду помощи от проф
0
yrceus
84 / 84 / 80
Регистрация: 25.08.2013
Сообщений: 336
17.01.2016, 17:22 4
Да, я чет задания не понял. А по какому принципу в первом примере добавляется 'c'? Еще несколько примеров покажите, как должно получатся. Мне интересно очень стало)
0
flyce32
0 / 0 / 1
Регистрация: 24.05.2015
Сообщений: 128
17.01.2016, 17:53  [ТС] 5
Например при объединении строки
abcbca и abcab получается строка
abcabca или abcbcab

При объединении строк abec и bca будет строка abeca


Грубо говоря, если мы будем идти по выходной строке и смотреть символы то можем получить обе исходные строки.

Добавлено через 16 минут
Есть идеи? ))
0
yrceus
84 / 84 / 80
Регистрация: 25.08.2013
Сообщений: 336
17.01.2016, 18:30 6
Возможно сама очевидность, или просто сформулировал задание))) Но мне кажется надо делать первый проход сравнивая все символы друг с другом, тем самым найдя последовательные повторения, azarta сравниваем с barzrtos получаем корень azrt, и потом к нему навешиваем от первого или второго слова недостающие символы.
azrt -> azarta -> barzartaos
или
azrt -> barzrtos -> barzartosa.
0
17.01.2016, 18:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2016, 18:30

Как сделать linq выборку из двух таблиц в одну GridView?
Есть две таблицы которые имеют одинакоывый первичный ключ. Как мне сделать выборку из них...

Как сделать недоступным для пользователя одну из двух групп переключателей
Можно ли &quot;засерить&quot; - сделать недоступным для пользователя один из путей группы переключения в...

Как сделать так, чтобы в одну GridView передавались результаты двух запросов
Здравствуйте. Как сделать так чтобы в одну ГридВью передавались результаты двух запросов? Спасибо


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

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

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