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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ переделать программу из pascal в C++ http://www.cyberforum.ru/cpp-beginners/thread709201.html
Ребят помогите пожалуйста переделать программу в с++ вот ссылка на прогрумму тут просто не все формулы открывает http://vpascale.ru/tasks/6-odnmass/55-task48
C++ найти слово в тексте с максимальным количеством введенного символа Добрый вечер! требуется найти слово в тексте с максимальным количеством введенного символа. я подключил файл, вывел его на экран, но как написать код, чтобы решить поставленную задачу затрудняюсь.... http://www.cyberforum.ru/cpp-beginners/thread709176.html
C++ Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве.
Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве. Массив должен вводиться во время работы программы.
C++ Найти все целые решения уравнения ax^3 + bx^2 + cx + d = 0 на отрезке [0,1000] и вывести их в порядке возрастания
Вводятся 4 числа: a, b, c и d. Найдите все целые решения уравнения ax3 + bx2 + cx + d = 0 на отрезке и выведите их в порядке возрастания. #include <iostream> #include <cstdio> #include...
C++ Как переписать программу используя понятие класса http://www.cyberforum.ru/cpp-beginners/thread709131.html
У меня проблемы с написанием программ используя классы. Помогите переписать программу, написанную с использованием Vector в прогу с использованием класса VectorDouble типа double: #include...
C++ Ряд Тейлора ряд Тейлора подробнее

Показать сообщение отдельно
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185

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

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

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

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

Собственно сегодня до меня дошло, что этот алгоритм несовершенен. И надо как-то по другому всё это сделать. Буду благодарен за любую помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru