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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

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

25.11.2012, 22:56. Просмотров 456. Ответов 0
Метки нет (Все метки)

Суть программы: мы вводим строку, программа должна удалить наименьшее количество символов чтобы получился палиндром. Затем надо вывести удаляемые символы и их количество.

Собственно интересует именно алгоритм с рекурсией. Уже бьюсь неделю и никак не получается.
Мой алгоритм:
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++
C++ Палиндром
C++ Палиндром 2 С++
C++ Работа со строками. Как вывести последнее слово палиндром в моей строке?
Число с нулем в начале как палиндром (0440) C++

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

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

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