5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Alejandro Blanco -
Número de respuestas: 19
En respuesta a Alejandro Blanco

problema al hacer make grupo6 personasfecha-hay-imprimir

de Tomas Jorge Carrau Giacummo -

al ejecutar el make me apaerce exactamente lo que tiene que aparecer pero ademas me aparece esto y no estoy pudiendo resoleverlo, si me pueden decir si es algo de memoria que puede ser me seria de mucha ayuda, gracias de antemano


En respuesta a Alejandro Blanco

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Facundo Díaz Bica -
Me podrian indicar donde esta mi error, creo que no esta funcionando imprimirPersonasFecha, por eso desde la linea 24 se libera el grupo, gracias!
Adjunto Captura desde 2024-08-20 22-12-21.png
En respuesta a Facundo Díaz Bica

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Raul Maglione -
Buenas Facundo,
Primero aclarar que no se admite compartir código dentro de los foros.
Luego, el error está en cómo comparas las fechas. Recuerda que fecha es un puntero, lo que significa que por más que apunten a "fechas" con el mismo valor al hacer el == como hiciste en realidad estás comparando el número de celda que apuntan en memoria por lo que la igualdad siempre da negativo (en sí cosas del lenguaje). Te recomiendo que uses una función que se encuentra en el módulo fecha que sí te permite comparar las fechas correctamente.
Saludos,
Raúl.
En respuesta a Alejandro Blanco

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Sebastián Valentín Pintos Fernández -
Buenas noches. El caso grupo6 me esta devolviendo la salida
1>El grupo ha sido creado de forma exitosa.
2>3>Persona creada de forma exitosa.
4>Se ha agregado la persona al grupo de forma exitosa.
5>6>Persona creada de forma exitosa.
7>Se ha agregado la persona al grupo de forma exitosa.
8>9>Persona creada de forma exitosa.
10>Se ha agregado la persona al grupo de forma exitosa.
11>12>Persona creada de forma exitosa.
13>Se ha agregado la persona al grupo de forma exitosa.
14>15>Persona creada de forma exitosa.
16>Se ha agregado la persona al grupo de forma exitosa.
17>18>Persona creada de forma exitosa.
19>Se ha agregado la persona al grupo de forma exitosa.
20>Se encontraron personas en la fecha determinada.
21>Se encontraron personas en la fecha determinada.
22>Se encontraron personas en la fecha determinada.
23>No se encontraron personas en la fecha determinada.
24>Persona Persona1 Apellido1
Cedula: 1111111
Fecha de nacimiento: 1/1/2001
Persona Persona2 Apellido2
Cedula: 2222222
Fecha de nacimiento: 1/1/2001
25>Persona Persona3 Apellido3
Cedula: 3333333
Fecha de nacimiento: 1/1/2002
Persona Persona4 Apellido4
Cedula: 4444444
Fecha de nacimiento: 1/1/2002
26>Persona Persona5 Apellido5
Cedula: 5555555
Fecha de nacimiento: 1/1/2003
Persona Persona6 Apellido6
Cedula: 6666666
Fecha de nacimiento: 1/1/2003
27>28>Se ha borrado el grupo en forma exitosa.
29>Fin.

No se porque me devuelve las cédulas y las personas en cualquier orden.
En respuesta a Sebastián Valentín Pintos Fernández

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Raul Maglione -
Buenas Sebastián,
Si te pones a pensar, no te las está devolviendo en cualquier orden, sino que te las devuelve al revés. Recomienda que revises la función tanto de inserción como de impresión, alguna de esas debe tener el problema.
Saludos,
Raúl.
En respuesta a Alejandro Blanco

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Ignacio Damián Casa Recoba -

Me esta dando este error continuamente y ya modifique esas funciones e igual sigue sin funcionar.

Adjunto Captura de pantalla 2024-08-21 202253.png
En respuesta a Ignacio Damián Casa Recoba

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Ignacio Fernandez Codina -
Hola Ignacio.

Parece que tu implementacion sigue teniendo errores. Valgrind esta marcando dos ahi.
El primero indica que en la linea 94 de persona.cpp usas una variable sin inicializar.
El segundo es en la misma linea e indica que estas intentando acceder a memoria que nunca pediste (nunca hiciste el new) o que ya liberaste (hiciste el delete)
Como son en la misma linea, quizás se trate del mismo error.
Asegurate de estar inicializando todas las variables cuyo valor se usa en esa linea.

Saludos
Ignacio
En respuesta a Ignacio Damián Casa Recoba

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Alejandro Blanco -
Ignacio.

Por la salida que estas mostrando en la captura, no estas ejecutando el caso de prueba persona4-imprimirpersona al que hace referencia este hilo del foro. Esta pregunta debería haber ido (supongo) a otro foro.

Adivino, revisando los casos de prueba que les dimos que en realidad estas corriendo el caso de prueba grupo5-remover. Me lo podes confirmar?
Si ese es el caso, seguramente el error se produce en la función removerGrupo o liberarTPersona.
Recordá que siempre que liberas memoria de una variable ("puntero a algo") además de hacer el delete, deberías dejar el puntero inicializado en NULL

Revisa estas dos funciones.

Saludos

Alejandro B
En respuesta a Alejandro Blanco

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Gonzalo Adrian Cortazzo Verdúm -



Soy yo o el caso de prueba "grupo 6" esta mal? Porque aquellas personas con las fechas idénticas las imprime en orden opuesto al que se añadieron al grupo.

En respuesta a Gonzalo Adrian Cortazzo Verdúm

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Gonzalo Adrian Cortazzo Verdúm -


Pasa lo mismo con grupo 7.
Una duda además, con ordenar las personas de "menor a mayor por fecha de nacimiento", refiere a que la primer persona de arreglo debe ser la mas joven?

En respuesta a Gonzalo Adrian Cortazzo Verdúm

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Maria de las Nieves Freira -
Hola, Gonzalo.
Sí, la primera persona debe ser la más joven. Y si tuvieran la misma fecha de nacimiento, está antes la última ingresada.

Por lo que veo en tu impresión de pantalla los está mostrando en el orden correcto.
En respuesta a Maria de las Nieves Freira

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Gonzalo Adrian Cortazzo Verdúm -
Disculpa, me confundí al leer la letra.
De todas maneras si la persona más joven debe estar al principio del array, entonces los casos de prueba grupo-3, grupo-5 y grupo-7 los muestran al revés.

Ahí dejo el caso grupo-5 de ejemplo.
En respuesta a Gonzalo Adrian Cortazzo Verdúm

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Maria de las Nieves Freira -
Hola, Gonzalo.
Así es como debe ser. La letra dice: «Si dos personas tienen la misma fecha de nacimiento, debe aparecer primero en el grupo la
persona ingresada de forma más reciente.»

Saludos cordiales.
En respuesta a Alejandro Blanco

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Christian Daniel Sosa Sampsont -

Me estaria pasando solo esto y no sabria de que funcion seria el error que me lo genera. 

En respuesta a Christian Daniel Sosa Sampsont

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Maria de las Nieves Freira -
Hola, Christian.
¿Ya corriste los comandos del caso de prueba uno a uno a mano?

Da la impresión de que cuando agregás dos personas con la misma fecha, te agrega la última después de la primera y no antes, como debería ser.
En respuesta a Maria de las Nieves Freira

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Christian Daniel Sosa Sampsont -

Hola si ya los corri uno a uno a mano y en el unico que difiere con la salida es ese mismo, puede ser el manejo de los topes de los for de la funcion agregarGrupo ? porque si los modifico si se logra solucionar el error en este caso pero me surge con otro.Tambien eh modificado el algoritmo para ordenarse por orden de ingreso al grupo, de más nuevo a más antiguo pero no me cambia el resultado.

Adjunto PRog2.2.PNG
En respuesta a Alejandro Blanco

Re: 5. Implementar las funciones imprimirPersonasFecha y hayPersonasFecha.

de Endy Ezequiel Fagundez Cusatti -

Buen día, cuando ejecuto los test me da que difiere con la salida, pero cuando lo pruebo a mano funciona correctamente solo que imprime la persona al revés, cuando solicita de la fecha 2001, entrega primero persona1 y luego persona2 y en el test entrega persona2 y después persona1, tiene que coincidir con el test en un caso asi?

Adjunto Captura de pantalla (16).png
Adjunto Captura de pantalla (17).png