Форум программистов, компьютерный форум 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 <cmath>
C++ Как переписать программу используя понятие класса http://www.cyberforum.ru/cpp-beginners/thread709131.html
У меня проблемы с написанием программ используя классы. Помогите переписать программу, написанную с использованием Vector в прогу с использованием класса VectorDouble типа double: #include <iostream> #include <vector> using namespace std;
C++ Ряд Тейлора ряд Тейлора подробнее

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

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

Собственно сегодня до меня дошло, что этот алгоритм несовершенен. И надо как-то по другому всё это сделать. Буду благодарен за любую помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru