2. Implemente las funciones crearTClientesABBVacio, ....

2. Implemente las funciones crearTClientesABBVacio, ....

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

Re: 2. Implemente las funciones crearTClientesABBVacio, ....

de Fernando Javier Acuña Gomez -

Buenas noches,

Me genera error "segmentation fault" cuando el codigo intenta ingresar el segundo cliente en la recursion insertarTClienteTClientesABB.


Al mismo tiempo, "make t-clientesABB1-crear-insertar-imprimir-liberar" imprime todos los clientes, similar al archivo "clientesABB1-crear-insertar-imprimir-liberar.out", dando el siguiente mensaje:



No le encuentro la vuelta.

Gracias,

En respuesta a Fernando Javier Acuña Gomez

Re: 2. Implemente las funciones crearTClientesABBVacio, ....

de Yael Michelena Koifmann -
Hola Fernando,

Ese error te está indicando que estas queriendo leer de una dirección de memoria que es NULL (0x0).
Te sugiero que revises, primero que nada, que estás creando correctamente el ABB vacío (recordá que en la letra se recomienda representarlo simplemente como un puntero a NULL).
Si no es eso te diría que revises con cuidado la lógica de tu función fijandote que estés asignando la memoria correctamente cuando creas un nuevo nodo y no dejes nada sin inicializar.

Saludos!
Yael
En respuesta a Alejandro Blanco

Re: 2. Implemente las funciones crearTClientesABBVacio, ....

de Agustín Bricio Rey Aguiar -
Buenas tardes,
El programa me da este error al intentar ejecutar insertarTClienteTClientesABB:
Yo no modifique nada del principal y se supone que mi codigo deberia estar bien, es el mismo que el del pdf de arboles, no entiendo cual es el problema.
Muchas gracias.
En respuesta a Alejandro Blanco

Re: 2. Implemente las funciones crearTClientesABBVacio, ....

de Felipe Rosa IbãÃ‘Ez -

Buenas tardes, tengo este problema de memoria y no sabria por que ocurre, ya le busque todas las vueltas, alguna sugerencia? gracias

En respuesta a Alejandro Blanco

Re: 2. Implemente las funciones crearTClientesABBVacio, ....

de Valentin Ezequiel Petrone Ruiz -
Buenas, logré avanzar en la implementación de todas las funciones de este módulo (menos la última) y todos los tests me muestran este error:

> ==80994== 1,624 (168 direct, 1,456 indirect) bytes in 7 blocks are definitely lost in loss record 2 of 2
> ==80994== at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==80994== by 0x10BF7F: insertarTClienteTClientesABB(rep_clientesABB*&, rep_cliente*) (clientesABB.cpp:15)
> ==80994== by 0x10AA7F: main_agregarClienteAClientesABB(rep_clientesABB*&, rep_cliente*&) (principal.cpp:500)
> ==80994== by 0x1099A0: main (principal.cpp:221)
> ==80994==

en la línea 15 solo tengo esto: clientesABB = new rep_clientesABB; correspondiente a la función insertarTClienteTClientesABB.
También probé con un puntero auxiliar para el nuevo nodo pero muestra lo mismo
En respuesta a Alejandro Blanco

Re: 2. Implemente las funciones crearTClientesABBVacio, ....

de Gonzalo Fernandez Perez -

Hice todos los casos de prueba del modulo cliente y me dieron bien pero ahora haciendo el modulo de clientesABB me sale este problema de memoria y no encuentro donde esta el error, hice los casos de prueba manualmente y me daban bien entonces imagine que el problema es en liberarTClientesABB pero no encuentro el error y queria consultar si es ahi que esta el error o puede estar en otro lado.

Adjunto Screenshot 2024-09-12 194357.png