Título: Me podrian ayudar!!!!!! caracteres por cadenas?? y contar nodos con recursion??? Publicado por: Principios en C en 5 Noviembre 2011, 19:51 pm Hola..
Tengo un codigo que hice el cual crea y ordena en forma alfabeticamente creciente un lista de caracteres, se pueden insertar elementos a la lista y eliminarlos. Pero me falta dos puntos para terminar mi programa: 1° tengo que imprimir con una función recursiva la lista ordenada alfabeticamente decreciente, es decir de z-a,. 2° Y hacer una funcion recursiva que al momento que yo ingrese un elemeto que quiero que se busque en la lista me diga cuantos caracteres hay antes y cuantes después del caracter que yo indique. Aqui esta mi codigo, pero quisiera ver si me ayudan y me pueden decir como hacer estas dos funciones recursivas que me faltan, por favor: Código
Título: Re: Ayuda con recursion... Publicado por: rir3760 en 6 Noviembre 2011, 01:44 am En el primer punto te piden que imprimas la lista en orden inverso, para ello basta con:
Código
Para la segunda función debes indicar los requisitos de esta con relación al numero de nodos antes y después del nodo a buscar. Un saludo Título: Re: Ayuda con recursion... Publicado por: Principios en C en 6 Noviembre 2011, 02:02 am Para la segunda función debes indicar los requisitos de esta con relación al numero de nodos antes y después del nodo a buscar. Hola, gracias por responder y ayudarme ... mi duda con lo que estas diciendo y que ya tenia por eso no he podido terminar mi programa es como con una función RECURSIVA (al igual que me piden en el primer punto) hacer que me de el numero de caracteres antes y depués del que pida el usuario. Por ejemplo si el usuario ingreso las letras: h,o,a,c,l t, p, f, k. Entonces la lista apareceria asi: a--c--f--h--k--l--o--p--t y si el usuario quiera saber cuantas lestras hay antes y despues de la "k", aqui seria facil porque es numerable pero en caso de que se ingresen mucho más? sé que ese es el chiste de la recursión, pero no entiendo como hacerlo? Título: Re: Ayuda con recursion... Publicado por: Principios en C en 6 Noviembre 2011, 03:23 am Me surge una duda mas, como le haria para que en lugar de ingresar caracteres pueda ingresar cadenas y en la opcion de eliminar me elimine palabra por palabra y aparte me las ordene alfabeticamente???
Es que esto lo quise hacer modificando algunas cosas pero sigue sin aceptarme cadenas nada mas me lee el primer caracter de la cadena que ingreso. Título: Re: Me podrian ayudar!!!!!! caracteres por cadenas?? y contar nodos con recursion??? Publicado por: rir3760 en 7 Noviembre 2011, 02:21 am Te respondo al MP:
Los datos en el programa aparecen desordenados en el programa porque este ... no los ordena. Para ello necesitas de una función mas que ordene los nodos de la lista. En el caso de listas vinculadas lo usual es MergeSort pero si apenas empiezas es mejor la ordenación al insertar cada nodo. En cuanto a la función que imprima el numero de caracteres antes de uno dado debes descomponer eso también en funciones: una que imprima el resultado y otra que calcule el numero de caracteres antes del buscado. Y faltan los requisitos de la(s) funcion(es). Sin eso difícil dar una respuesta exacta. No voy a hacerlo todo. En el caso del calculo de forma recursiva del numero de elementos antes de uno dado ello se puede realizar de esta forma: Código Es una función de soporte "imprimir_na" que imprime el resultado de la otra función recursiva "nodos_antes". Un saludo Título: Re: Me podrian ayudar!!!!!! caracteres por cadenas?? y contar nodos con recursion??? Publicado por: Principios en C en 7 Noviembre 2011, 02:28 am Gracias!!! Pero si los ordena de la a la z... ya lo ejecute varias veces.
Lo que no ordena es la función imprimir_inv que me hiciste favor de proporcionar.. y que la verdad aunque me ayudaste con esa para darme la idea trate de convertila a funcion recursiva y no me salio tampoco La funcion imprimir_na es independiente de la que ya tengo que es imprime?? Yo sé que es abusar de tu ayuda pero.. es que tengo un buen de tarea y me falta saber como hacer el programa que publique con cadenas?? En el codigo que pusiste arribo ya vez que hay partes en las que hace falta algo y las pones como /*... */, que deberia anexar ahi??? Y en que momento mando llamar a la función??? Perdon, es que estoy super perdido con esto... :( Título: Re: Me podrian ayudar!!!!!! caracteres por cadenas?? y contar nodos con recursion??? Publicado por: rir3760 en 7 Noviembre 2011, 02:59 am Pero si los ordena de la a la z... ya lo ejecute varias veces. Tienes razón. Lo siento.El programa tiene errores en la función "insertar", demasiado larga en mi opinión y si tratas de insertar los caracteres 'a', 'b' y 'c' en ese orden todos menos el primero se pierden, revisala. Un saludo Título: Re: Me podrian ayudar!!!!!! caracteres por cadenas?? y contar nodos con recursion??? Publicado por: Principios en C en 7 Noviembre 2011, 03:04 am Lo sé, es que me cuestan mucho trabajo los punteros... y talvez me complique demasiado la vida pero ya no tengo mucho tiempo para simplificarla y la verdad ya me hice bolas...
disculpa mi insistencia pero me podrias decir donde mado llamar a la función para contar los nodos?? y sabras como puedo hacer esto con cadenas??? Porfa!!!!!!!!!!! Título: Re: Me podrian ayudar!!!!!! caracteres por cadenas?? y contar nodos con recursion??? Publicado por: Principios en C en 11 Noviembre 2011, 01:28 am Te respondo al MP: Los datos en el programa aparecen desordenados en el programa porque este ... no los ordena. Para ello necesitas de una función mas que ordene los nodos de la lista. En el caso de listas vinculadas lo usual es MergeSort pero si apenas empiezas es mejor la ordenación al insertar cada nodo. En cuanto a la función que imprima el numero de caracteres antes de uno dado debes descomponer eso también en funciones: una que imprima el resultado y otra que calcule el numero de caracteres antes del buscado. Y faltan los requisitos de la(s) funcion(es). Sin eso difícil dar una respuesta exacta. No voy a hacerlo todo. En el caso del calculo de forma recursiva del numero de elementos antes de uno dado ello se puede realizar de esta forma: Código Es una función de soporte "imprimir_na" que imprime el resultado de la otra función recursiva "nodos_antes". Un saludo Me pueden ayudar diciendome como mando llamar esta función en el programa... Ya me he roto la cabeza y no puedo... :-( |