none
me ayudan a corregir mi programa en lenguaje en C porfavor RRS feed

  • Pregunta

  • Tiene poner la palabra alrevez , ya intente poner el p++; arriva del prinf pero no lo hace 

    tiene que tener recursividad osea no tiene que tener el while? como sería ?

    #include<stdio.h>
    #include<conio.h>
    main(){
    char *p;
    char s[10]="escuela";
    p=s;

    while(*p)
    {
    p++;
    printf("%c",*p);

    }
    }

    miércoles, 8 de febrero de 2017 4:03

Todas las respuestas

  • Hola,

    pero lo que haces en el While no es recursivo.

    Tendrías que crear una función que se llame a sí misma.

    Te dejo un ejemplo en este enlace, lo explican muy bien.

    Invertir una palabra en C

    Saludos.


    Antonio Mata

    miércoles, 8 de febrero de 2017 5:19
  • Hola,

    Tal como explica Antonio, para que sea con recursividad necesitas una funcion que se llame a si mismo.

    Para dar vuelta una palabra con recursividad se me ocurre que podría ser algo así (habría que corregirle la sintaxis y algunos detalles):

    funcion String doyVuelta (String palabra) {  

    if (palabra.length = 1)

    {

    return palabra[0];

    }

    palabraDadaVuelta = palabra[palabra.length] + doyVuelta(palabra.length-1);   return palabraDadaVuelta; }

    Ejemplo con la palabra gato:

    En el primer ingreso a la funcion doyVuelta, la palabra invertida es o + llamada a la función -->

    --> Cuando ingresa nuevamente, es o + t + llamada a la función -->

    --> En el tercer ingreso es o+t+a + llamada a la función -->

    --> Finalmente palabra.length es 1, osea que es la primera letra (g), con lo cual devuelve dicha letra.

    --> Retorno palabraDadaVuelta, que es otag

    miércoles, 8 de febrero de 2017 14:37