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

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

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

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

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

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

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

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

Число с нулем в начале как палиндром (0440) - C++
Дано натуральное число n. Определить является ли это число палиндромом (перевертышем) как, например, 2222, 0440. Код ниже работает для...

Работа со строками. Как вывести последнее слово палиндром в моей строке? - C++
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstring> using namespace std; int main(){ char *str = new...

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

Палиндром - C++
разработать программу которая определяет является ли данный текст палиндромом в среде C++

Палиндром - C++
Программа находит палиндромы в файле, но не совсем правильно, а именно: проверяет на условие палиндрома только первое слово. Что нужно...

Палиндром - C++
Дайте реализацию программы, определяющей является ли входная строка палиндромом, пожалуйста. Заранее спасибо.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 22:56
Привет! Вот еще темы с ответами:

Палиндром - C++
Здравствуйте! Наткнулся на такую задачу. Дана строка и нужно посчитать сколько палиндрома можно из нее сделать. Например: ввод: ababc ...

Палиндром в С++ - C++
Нужно составить программу которая определяет, является ли строчка палиндромом или нет. Написал такую программу, несколько раз проводил...

Палиндром - C++
Здравствуйте. Пытаюсь написать программу которая проверяет является ли введёное число с клавиатуры палиндромом. Метод проверки...

Палиндром 2 С++ - C++
Задание: Напишите программу проверки, является ли введенное число палиндромом. Организуйте многократный ввод чисел для проверки, признак...


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

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

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