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

Как реализовать палиндром? - C++

Восстановить пароль Регистрация
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
25.11.2012, 22:56     Как реализовать палиндром? #1
Суть программы: мы вводим строку, программа должна удалить наименьшее количество символов чтобы получился палиндром. Затем надо вывести удаляемые символы и их количество.

Собственно интересует именно алгоритм с рекурсией. Уже бьюсь неделю и никак не получается.
Мой алгоритм:
1). Двигаем левую границу, правая стоит на месте пока не найдём похожий символ слева (и так пока символы не совпадут в одной ячейке). Считаем количество удаляемых символов. (пример: aatut; должно вывести количество удаляемых: 2 и сами удаляемые:"aa")
2). Двигаем правую границу, левая стоит на месте пока не найдём похожий символ справа(и так пока символы не совпадут в одной ячейке). Считаем количество удаляемых символов. (пример: tutaa; должно вывести количество удаляемых: 2 и сами удаляемые:"aa")
3). Двигаем левую и правую границу одновременно, пока они не совпадут(и так пока не будут водной ячейке). Считаем количество удаляемых символов. (например: "mzuukm"; должно вывести количество удаляемых символов: 2; Сами символы: zk)
4). Благополучно сравниваем всё и там где меньше всего было удалено символов тот метод поиска палиндрома и используем.

Собственно сегодня до меня дошло, что этот алгоритм несовершенен. И надо как-то по другому всё это сделать. Буду благодарен за любую помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 22:56     Как реализовать палиндром?
Посмотрите здесь:

C++ Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы?
C++ Палиндром
Палиндром... C++
C++ Палиндром.
Палиндром с++ C++
C++ Палиндром
Палиндром в С++ C++
C++ Палиндром

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

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

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