С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Палиндром рекурсивно - C++

26.11.2012, 21:21. Просмотров 382. Ответов 0
Метки нет (Все метки)

Задача: найти в слове палиндром и вывести на экран: 1). количество удаляемых символов чтобы получился палиндром. 2). Сами удаляемые символы
Проблема: пункт №2 в моём задании
Помогите мне пожалуйста вывести эти символы, у самого уже сил просто нету думать как и что. Устал размышлять и предполагать как и что должно делаться. Буду крайне благодарен за помощь.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <string.h>
 
// A utility function to get max of two integers
int max (int x, int y) { return (x > y)? x : y; }
 
// Returns the length of the longest palindromic subsequence in seq
int lps(char *seq, int i, int j)
{
   // Base Case 1: If there is only 1 character
   if (i == j)
   {
     return 1;
   }
 
   // Base Case 2: If there are only 2 characters and both are same
   if (seq[i] == seq[j] && i + 1 == j)
     return 2;
 
   // If the first and last characters match
   if (seq[i] == seq[j])
   {
      return lps (seq, i+1, j-1) + 2;
   }
 
   // If the first and last characters do not match
   return max( lps(seq, i, j-1), lps(seq, i+1, j));
}
 
/* Driver program to test above functions */
int main()
{
    char seq[] = "mkuuzm";
    int n = strlen(seq);
    printf ("Number of deleted symbols: %d", strlen(seq)-lps(seq, 0, n-1));
    getchar();
    return 0;
}
Добавлено через 4 часа 15 минут
Неужели никто не знает как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2012, 21:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Палиндром рекурсивно (C++):

Рекурсивно обчислити добуток n ≥ 2 співмножників (n парне): у = (2/1)*(2/3)*(4/3)*(4/5)*(6/5)*(6/7).Рекурсивно обчислити добуток n ≥ 2 співмножників - C++
Рекурсивно обчислити добуток n ≥ 2 співмножників (n парне): у = (2/1)*(2/3)*(4/3)*(4/5)*(6/5)*(6/7)...

Вычислить y=x^N рекурсивно - C++
Вычислить y=x^N по следующему алгоритму: y=(x^(N/2))^2 , если N четное; y=x*x^(N-1) , если N нечетное. C ПОМОЩЬЮ РЕКУРСИИ. В чем ошибка? ...

Найти 1+2+3+...+n рекурсивно и итеративно - C++
Уважаемые программисты!!! помогите разобраться, дали задачу. Найти 1+2+3+...+n. Первый способ, решить рекурсивно, а второй не рекурсивно....

Вычислить сумму рекурсивно - C++

По заданному X рекурсивно вычислить X^2 - C++
Написать программу, высчитывающую X^2. Х задается пользователем. Использовать рекурсию.

Рекурсивно вычислить выражение - C++
Вычислить результат выражения http://s010.***********/i311/1511/4e/3f0e9412061d.jpg Зависимость а, это массив А в программе.аналогично...

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

Задача о 8 ферзях рекурсивно - C++
нашел код, помогите сделать его рекурсивно а не поиском с возвратом позиций #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;time.h&gt; ...

Сумма произведений рекурсивно - C++
Помогите с функцией пожалуйста, решать и выдавать код не надо, просто мягко говоря, пните в нужном направлении. Запутался совсем. ЗЫ...

Числа Фибоначчи рекурсивно - C++
Написать рекурсивную функцию, высчитывает N-й элемент последовательности чисел Фибоначчи FK, которая описывается следующими формулами: F1 =...

Реализовать формулу рекурсивно - C++
Ребят срочно помогите. Задачу сдать нужно Вот так она работает и забивает массив. забивает по диагонали l - некоторый массив с...


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

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

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