Programación General > C/C++

 funcion recursiva

(1/4) > >>

maduco:
estoy teniendo problemas con las funciones recursivas.

en especial con este ejercicio:

Escribid una función que reciba una cadena de caracteres terminados en un punto , leídos uno a uno con la función getche() y la devuelva de forma inversa:
Ejemplo: ‘hola’
Salida:   ‘aloh’

lo complicado es que no se puede tratar como una cadena de caracteres sino que hay que introducir uno a uno y no se como acerlo
si alguien me puede ayudar lo agradezco

m0skit0:
Tu problema realmente no tiene nada que ver con recursividad, sino con getch() (getche() no existe)  <_< A ver si ponemos títulos adecuados a los hilos...

En el curro no tengo entorno para C, pero algo así debería funcionar, ya me dices:


--- Código: C ---char* leer_hasta(char* buffer, char fin){    if (buffer != NULL)    {        char c;        int i = 0;        do        {            c = getch();            buffer[i++] = c;        } while (c != fin)    }        return buffer;} 

maduco:
muxas gracias moskito pero ando muy perdido en este tema y no se que tengo que acer en el modulo principal, si me puedes ayudar te lo agradeceria muxisimo

m0skit0:
Ponme un poco lo que tienes hecho y lo vemos.

Epa:
Buenas.

Si no me equivoco la funcion getche() es de conio. Y no lee del buffer de entrada sino del teclado.

La idea es hace una funcion que capture un caracter con getche(), si este es '.' entonces retorna, sino se llama a si misma, imprime el caracter y retorna.

De esa forma cuando se ingrese el . se va a ir saliendo de las funciones e imprimiendo los caracteres en el orden inverso al que se ingresaron.

En el main simplemente tendrias que llamar a esa funcion.

Eso es lo que entendi por lo menos, espero que sirva.

Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa