Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Beginner Web en 25 Octubre 2018, 05:06 am



Título: recursividad ejercicio basico
Publicado por: Beginner Web en 25 Octubre 2018, 05:06 am
Primero que nada hola, tengo el siguiente problema
Realice un algoritmo recursivo implementando el tda abb para invertir el orden de las silabas de las palabras de una frase pero no el orden de sus palabras, es decir si yo ingreso la palabra "maestro yi" me tendria que devolver "troesma yi" o "tinto" devolveria "totin" , realice una prueba de escritorio, es algo complicado si, pero no se como empezar  :(


Título: Re: recursividad ejercicio basico
Publicado por: EdePC en 25 Octubre 2018, 05:49 am
Saludos,

- Existen reglas para hacer la división silábica de palabras, la idea sería recorrer cada letra de una palabra e ir aplicando las reglas.

- Por ejemplo "maestro yi", "m" es consonante, entonces seguimos con la siguiente letra "a", esta es vocal fuerte, entonces ya se tiene una presunta sílaba, seguimos con la "e", esta es una vocal fuerte por lo que rompe la regla y pasa a formar la siguiente sílaba.

- Vídeo de como silabear aplicando reglas: https://www.unprofesor.com/lengua-espanola/reglas-para-separar-en-silabas-53.html

- Puedes guardar las palabras y sílabas como gustes, por ejemplo Arrays, luego será más fácil tratarlos ya que estarán indexados y se les puede re-ordenar.

- No creo que tengas problemas con la recursividad o con invertir letras verdad?


Título: Re: recursividad ejercicio basico
Publicado por: Serapis en 25 Octubre 2018, 16:26 pm
Desiste.
Este es el ejemplo claro de un mal ejercicio de ejemplo para aprender a programar.

Al tratarse de aprender recursividad, se debe ir al grano con la recursividad... aquí el problema más que resolver la propia recursividad se trata de resolver un problema linguístico, es decir de lógica que puede resutar más complejo si cabe que el propio problema que se trata de aprender.

Es como si a alguien que quiere aprender mecánica, y está aprendiendo a distinguir tornillos y darle el apriete exacto, le piden que apriete uno, tal que para hacerlo debe desmontar por completo un motor...

Si se está aprendiendo con cosas básicas, los problemas a resolver deben estar al mismo nivel de dificultad que tales cosas que se están aprendiendo.


De todos modos, ya te aleccioné para que saltaras a árboles y grafos, donde se trata más ampliamente la recursividad y donde el nivel de dificultad viene adecuado justo a lo que se está aprendiendo. Hazme caso... y salta a árboles y grafos.

..que se te queda algo en el tintero (por ejemplo listas enlazadas construídas sobre arrays), no te preocupes, no te atasques, avanza y ya volverás atrás... a veces, no están debidamente ordenados los problemas, a veces para resolver ciertos problemas necesitas saber temas que se dan más adelante, o que habiendo dado temas de más adelante, luego esos resultan más entendibles.