Título: ¿Como guardar datos de pila en un archivo de texto? Publicado por: LuisUvtol en 2 Mayo 2020, 01:49 am Buen dia a todos los internautas, tengo un pequeño problema, quiero guardar mis datos a un archivo de texto pero no logro hacerlo el codigo es el siguiente:
Mis estructuras: Código [/code] mis funciones para agregar: Código El problema lo tengo en mi funcion guardar ya que solo me guarda la direccion de memoria de 1 dato, no de n datos: Código Espero y puedan ayudarme, les agradezco Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: K-YreX en 2 Mayo 2020, 17:44 pm No he mirado todo tu código, solo la última parte pero... Deberías no cerrar el archivo dentro del while().
Saca el: Código fuera del while() de esta manera: Código y dime si te funcionó. Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: LuisUvtol en 2 Mayo 2020, 21:19 pm Gracias por tu respuesta! realice las modificaciones que me dijiste y el resultado es el siguiente:
1. Tengo una pila con los siguientes datos: ID |Frecuencia 2 | 2 3 | 2 4 | 1 5 | 3 Lo unico que se me guarda en el archivo es lo siguiente: ID | Frecuencia 2 | 2 ahorita estoy trabajando para que se me guarde todo y por supuesto, si lo logro compartire el codigo en este hilo si me puedes ayudar con esto estaría muy agradecido! Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: K-YreX en 3 Mayo 2020, 01:49 am Primero comprueba que los datos se guardan correctamente en la pila. Si es así, ahora comprueba que no estés sobrescribiendo la primera línea de tu fichero ya que al ser una pila, se ve que solo muestra el primer valor insertado que es el último en salir.
PD: El código es bastante mejorable. Hay una mezcla de C con C++... Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: LuisUvtol en 3 Mayo 2020, 02:10 am Los datos se guardan correctamente en la pila, encontre una manera de guardar los datos pero no es eficiente, deberia emplear un bucle pero no se como implementarlo
Código
Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: LuisUvtol en 3 Mayo 2020, 02:13 am Los datos se guardan correctamente en la pila, encontre una manera de guardar los datos pero no es eficiente, deberia emplear un bucle pero no se como implementarlo
Código de esta manera si me guarda los datos en el archivo, he estado intentando usar un bucle ¿Alguna idea para implementarlo? Gracias!! Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: K-YreX en 3 Mayo 2020, 02:45 am Yo lo he probado y me ha guardado todo correctamente. El siguiente código debería funcionar:
Código Cómo has sobrecargado el operador <<?? Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: LuisUvtol en 3 Mayo 2020, 17:59 pm Me ha funcionado! Muchas gracias, estoy por terminar mi codigo, pero quiero hacer una ultima modoficacion, tal vez me puedas ayudar, ¿Como puedo ordenar una variable tipo char? por ejemplo:
Código Quisera ordenarla de esta manera: ejemplo[] = "5,5,5,5,3,3,3,4,4,1,1,6,7" Quiero ordenarla dependiendo de la frecuencia de los numeros, Gracias! Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: K-YreX en 3 Mayo 2020, 18:40 pm Hay muchas formas de hacerlo y dependerán de las funciones, las estructuras,... que quieras usar. Básicamente dependerá de tu algoritmo.
También tendrás que tener en cuenta ciertas precondiciones como si conoces la cantidad de dígitos diferentes existentes o si todos los dígitos iguales aparecerán seguidos,... Puedes usar una estructura para guardar un valor y sus repeticiones. Crear un array de esta estructura y guardar todos los valores, ordenar dicho array y después crear la nueva cadena a partir de esos resultados. Puedes usar una cola con prioridad (puedes usar la de la STL de C++). Y es altamente recomendable no solo para esto sino para todos tus programas que tengas en claro tu lenguaje de programación. En C++ no se usa malloc/free sino new/delete. Tienes los strings para facilitarte el trabajo con cadenas y tienes las clases en vez de las estructuras. Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: LuisUvtol en 3 Mayo 2020, 19:03 pm Gracias por tu respuesta! Lo que yo busco hacer es ordenar esa cadena, dependiendo de las repeticiones y que se me genere una nuevo char, ya con este nuevo char modifico mi codigo para poder trabajar con el, puedo ordenar el char de manera ascencente con el siguiente codigo:
Código Pero no lo logro ordenar por frecuencia :( Título: Re: ¿Como guardar datos de pila en un archivo de texto? Publicado por: K-YreX en 3 Mayo 2020, 19:39 pm Como ya te he dicho, una forma fácil aunque poco eficiente es que uses una estructura como la siguiente:
Código
El algoritmo sería el siguiente. Ahora es trabajo tuyo entenderlo y traducirlo al lenguaje que quieras ya sea C o C++. Código: caracteres : array de char |