[C con Clase] recursividad

Yolmer Rosales yolmer.rosales en gmail.com
Dom Mar 13 19:29:14 CET 2016


Hola lista:

me topé con un ejercicio de recursividad que no he logrado realizar de la
forma que quiero el enunciado es:

(7.10.6) Crear un programa que emplee recursividad para dar la vuelta a una
cadena de caracteres (por ejemplo, a partir de "Hola" devolvería "aloH").
en *fundamentos de programación en c *autor: Nacho Cabanes

hice esto:

int voltea( char *c)
{
if (strlen(c) > 1)
{
voltea(c+1);
cout << c[0] << " ";
return 0;
}
cout <<  c << " ";
return 0;

}

funciona! con la cadena ABCDEF obtengo la salida F E D C B A por pantalla
pero no es así que la quiero el enunciado dice dar la vuelta a la cadena de
caractares, entonces pensé en esto:


char *voltea( char *c) //devolver la cadena invertida para asignarla a una
variable o enviarla a la pantalla
{
if (strlen(c)>1)
{
voltea(c+1);
return strcat(c,&c[0]); //esto me dio muchos errores luego intenté pasar
dos cadenas a la función y tampoco funcionó
}
return c;

}

el asunto es que ya llevo mas de ocho horas con este ejercicio y tengo el
cerebro tostado. Alguna idea?
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20160313/c3568f11/attachment.html>


Más información sobre la lista de distribución Cconclase