5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Sofia Tito Virgilio Rodriguez -
Número de respuestas: 13
En respuesta a Sofia Tito Virgilio Rodriguez

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Valentín Moncecchi Ruiz -
Buenas tardes, estoy teniendo un problema con la implementación de la función para imprimir los perros ingresados en una fecha. En este caso de prueba se imprime en el output ideal primero a Sirius (añadido primero) y luego a Remus (añadido luego), pero en el contrato especifica que deben imprimirse "por orden de creación (más nuevo a más antiguo)". ¿Es eso correcto o podría ser al revés (más antiguo a más nuevo)?
En respuesta a Valentín Moncecchi Ruiz

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Sofia Tito Virgilio Rodriguez -
Hola Valentín.

Estás en lo correcto, quedó mal la aclaración.

Sería: "en orden de creación (de más antiguo a más reciente)" como en la inserción y en la salida esperada.

Gracias por notarlo, corregiremos refugio.h a la brevedad.

Saludos!
En respuesta a Sofia Tito Virgilio Rodriguez

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Gastón Zabaleta Prieto -

Buenas, estoy teniendo problemas con crear ingresaronPerrosFechaTRefugio. Me funciona bien en el caso donde no hay una fecha coincidente, pero cuando la fecha si existe ya sea solo 1 o varias fechas existentes iguales no me funciona para ninguno de los dos casos. Esta funcion lo unico que hace es que si lo encuentra retorne true no? O tambien hay que imprimir algo?

En respuesta a Gastón Zabaleta Prieto

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Guillermo Dufort -
Hola Gastón,

La descripción de la función en el .h indica que lo que retorna la misma es un booleano, true si hay un perro con esa fecha de ingreso, y false de lo contrario.

Si la función solo te funciona cuando no hay coincidencias probablemente sea porque no estás comparando correctamente las fechas.
Asegurate de estar utilizando la función que implementaste compararTFechas. Si estás comparando los punteros directamente siempre te va a dar falsa la comparación.

Saludos,
Guillermo
En respuesta a Sofia Tito Virgilio Rodriguez

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Romina Fariña Piriz -
Buenas noches, ¿se puede implementar la búsqueda binaria de manera recursiva? Gracias
En respuesta a Romina Fariña Piriz

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Guillermo Dufort -

Hola Romina,

Si, podés hacerlo de forma recursiva. Como regla general, si no está especificado en la letra de qué manera hacerlo, podés hacerlo de cualquiera de las dos formas.

Saludos,

Guillermo

En respuesta a Sofia Tito Virgilio Rodriguez

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Diego Javier Salomone Varela -
En la función ingresaronPerrosFecha, los perros pueden agregarse secuencialmente en el array, uno detrás del otro, ya que, según la consigna, se ingresan en orden por fecha de ingreso. Esto significa que no es necesario implementar un mecanismo adicional de ordenamiento, ya que el propio proceso de ingreso garantiza que un perro registrado antes aparecerá antes en el array.

Por ejemplo, si los perros ingresan en orden por fecha:

Ingreso de perros:

Rocky (10/03/2024)

Luna (12/03/2024)

Max (15/03/2024)

Array resultante: [Rocky, Luna, Max]

Si los perros ingresaran en un orden aleatorio, el array inicial podría quedar desordenado:

Ingreso de perros:

Luna (12/03/2024)

Max (15/03/2024)

Rocky (10/03/2024)

Array resultante sin ordenamiento: [Luna, Max, Rocky]

La duda principal radica en la forma en que se evaluará el programa: si efectivamente los perros serán ingresados en orden o si podrían registrarse en un orden diferente al esperado.
En respuesta a Diego Javier Salomone Varela

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Sofia Tito Virgilio Rodriguez -
Hola Diego.

La consigna de agregarEnTRefugio se refiere a que al agregar el perro pasado por parámetro se debe "insertar" en la estructura por orden de fecha de ingreso al refugio.

Podría invocarse a la función agregarEnTRefugio sin seguir un orden cronológico por fecha de ingreso.

El orden de los perros en la estructura es parte de lo que deben implementar y mantener actualizado al ingresar y remover elementos.
En respuesta a Sofia Tito Virgilio Rodriguez

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Maia Valentina Cardoso Tapia -
Hola, buenas tardes. Estoy intentando compilar el código y me lo imprime igual, pero no me dice que está bien.
Adjunto Captura de pantalla 2025-03-26 142156.png
En respuesta a Maia Valentina Cardoso Tapia

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Ignacio Remersaro Coronel -
Hola,

No me queda claro si se está imprimiendo bien, ya que aparecen de la fila 1 a la 17 como borradas (1,17d).
La imagen de la derecha de qué archivo es?
Podes probar con el comando 'make test/salidas/refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.diff' que si crea el archivo de salida de prueba.
En respuesta a Maia Valentina Cardoso Tapia

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Andrés Rubio González -
buenas, tengo el mismo problema que la compañera y no se que significa el 1,17d (quedara para la reentrega)
En respuesta a Andrés Rubio González

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Ignacio Remersaro Coronel -
Hola Andres,

La d es de delete.
Revisaste las diferencias entre los archivos de salida?
En respuesta a Sofia Tito Virgilio Rodriguez

Re: 5. Implementar las funciones ingresaronPerrosFechaTRefugio y imprimirPerrosFechaTRefugio. Ejecutar el caso de prueba refugio4-ingresaronPerrosFecha-imprimirPerrosFecha.

de Justin Canteri Cucurullo -
Buenas noches, estoy teniendo problemas con la función ingresaronPerrosFechaTRefugio (al menos eso creo) porque al ejecutar "make testing" pasa todas las pruebas menos las ultima (la 8), cuando ejecuto "valgrind ./principal" no me da errores hasta la funcion ingresaronPerrosFechaTRefugio. Ahora el problema es que la prueba 7 junto con las demás que involucran ingresaronPerrosFechaTRefugio no me da erres con "make testing" solo la 8, este es el error que me devuelve> ==21161== Use of uninitialised value of size 8
> ==21161== at 0x10AE86: fechaIngresoTPerro(rep_perro*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x10AC2D: imprimirPerrosFechaTRefugio(rep_refugio*, rep_fecha*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x10A549: main_ingresaronPerrosFechaRefugio(rep_refugio*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x109884: main (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161==
> ==21161== Invalid read of size 8
> ==21161== at 0x10AE86: fechaIngresoTPerro(rep_perro*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x10AC2D: imprimirPerrosFechaTRefugio(rep_refugio*, rep_fecha*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x10A549: main_ingresaronPerrosFechaRefugio(rep_refugio*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x109884: main (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== Address 0xa8 is not stack'd, malloc'd or (recently) free'd
> ==21161==
> ==21161==
> ==21161== Process terminating with default action of signal 11 (SIGSEGV)
> ==21161== Access not within mapped region at address 0xA8
> ==21161== at 0x10AE86: fechaIngresoTPerro(rep_perro*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x10AC2D: imprimirPerrosFechaTRefugio(rep_refugio*, rep_fecha*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x10A549: main_ingresaronPerrosFechaRefugio(rep_refugio*) (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== by 0x109884: main (in /home/vboxuser/Desktop/MaterialesTarea1-Reentrega/tarea1/principal)
> ==21161== If you believe this happened as a result of a stack
> ==21161== overflow in your program's main thread (unlikely but
> ==21161== possible), you can try to increase the size of the
> ==21161== main thread stack using the --main-stacksize= flag.
> ==21161== The main thread stack size used in this run was 8388608.
> timeout: la orden monitorizada ha volcado un 'core'
> Segmentation fault