[ Foro de C ]

Funciones. ejercicio invertir cadena

12-Aug-2013 12:49
Jose Manuel Illanes Juan
1 Respuestas

Buenas, estoy en el apartado de recursividad  y me he topado con este ejercicio:

Crear un programa que emplee recursividad para dar la vuelta a una cadena de
caracteres (por ejemplo, a partir de "Hola" devolvería "aloH").

la verdad es que no tengo ni idea de como hacerlo.

Alguna pista o ayuda para poder empezar porque no se me ocurre que ordenes dadle al programa.
Gracias.


13-Aug-2013 10:14
Nacho Cabanes (+32)

Para un problema recursivo, siempre debes hacerte dos preguntas:

1) ¿Cual es el caso base? (En este caso, ¿cual es la cadena más sencilla que puedes invertir?)

2) ¿Como simplifico de un caso general al inmediatamente inferior? (en general, del valor n al n-1; en este caso concreto, de la cadena de longitud "n" a la "n-1", por ejemplo, para "Hola", sabiendo que "Hol" queda invertido como "loH" y que te falta tomar la "a" del final, o bien sabiendo que "ola" se invierta como "alo" y que te falta la H, según si empiezas por un extremo o por el otro).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)