Programación General > C/C++
funcion recursiva
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
[#] Página Siguiente
Ir a la versión completa