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

В строке символов найти максимальную подпоследовательность символов, являющуюся палиндромом - C++

23.12.2016, 21:48. Просмотров 264. Ответов 1
Метки нет (Все метки)

Народ, помогите пожалуйста. Нужно написать программу, используя динамический массив. Вот условие задачи: В строке символов найти максимальную подпоследовательность символов, являющуюся палиндромом. Не могу понять как это сделать. Заранее спасибо!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2016, 21:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В строке символов найти максимальную подпоследовательность символов, являющуюся палиндромом (C++):

Найти количество символов всех строк файла и количество символов в определенной строке
Здравствуйте! Я хотел бы попросить помощи в решении задачки! У меня не...

Найти ее максимальную возрастающую подпоследовательность
Здравствуйте, помогите студентке, завтра надо сдать задачи, одна не получается...

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

Найти максимальную возрастающую подпоследовательность в одномерном массиве
Помогите найти максимальную возрастающую подпоследовательность в одномерном...

В заданном числе найти максимальную по длине подпоследовательность
В данном числе m найти максимальную по длине подпоследовательность так,чтобы...

В строке символов установить пробелы вместо символов,номера позиций которых при делении на 6 дают в остатке 3
и вот 2 задачка. В заданной строке символов установить пробелы вместо...

1
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
23.12.2016, 23:45 #2
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

функцию проверки на полиндром можно оптимизировать
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
#include <iostream>
#include <string>
using namespace std;
 
inline bool isPalindrome(const string& str)
{
    return string(str.crbegin(), str.crend()) == str;
}
 
int main()
{
    string input("arozaupalanalapuazora");
    //getline(cin, input);
 
    struct
    {
        size_t beg, len = 0;
    } MAX;
 
    for (size_t i(0), end(input.size()), pos; i != end; ++i)
    {
        if (i > end / 2 && MAX.len >= (end + 1) / 2)
            break;
 
        for (pos = string::npos; (pos = input.rfind(input[i], pos)) != i; --pos)
        {
            string temp
            {
                input.cbegin() + i,
                input.cbegin() + pos + 1
            };
 
            if (isPalindrome(temp) && pos - i + 1 > MAX.len)
                MAX.beg = i, MAX.len = pos - i + 1;
        }
    }
 
    cout << input << endl;
    cout << (MAX.len ? input.substr(MAX.beg, MAX.len) :
        string(1, input.front())) << endl;
 
    system("pause");
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2016, 23:45
Привет! Вот еще темы с решениями:

Дана строка символов, пользователь вводит комбинацию символов проверить сколько раз встечается эта комбинация в строке.
Дана строка символов, пользователь вводит комбинацию символов проверить сколько...

Найти максимальную по длине подпоследовательность так, чтобы элементы были в возрастающем порядке
В данном числе m найти максимальную по длине подпоследовательность так,чтобы...

Найти количество символов в строке
Написать программу для подсчёта количества символов в любой строке

Текст, состоящий не более чем из 255 символов, разбить на строки длиной не более 50 символов в строке
Текст, состоящий не более чем из 255 символов, разбейте на строки длиной не...


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

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

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