Me paso exactamente igual, mi retroalimentación fue 1110-1111111111111-11.
Una sola linea de código en sumaUltimosPositivos.
Y para peor era una sola linea en D.diff
Resultado correcto: 11>37.37
Mi resultado erróneo: 11<35.06
El resultado correcto suma: (8,8.80)(11,11.11)(12,12.12)(13,-13.13)(14,14.14)
Mi resultado erróneo sumo: (8,8.80)(11,11.11)(12,12.12)(13,-13.13)(14,14.14)
Al analizar el problema, después de ver el caso de prueba en el que fallé, me di cuenta de que recorrí el árbol derecho, luego izquierdo y después hice el proceso de datos.
Lo mio fue un error conceptual (garrafal). Debería haber hecho en orden, como dice la letra, e ir árbol derecho, realizar el proceso de datos y luego el árbol izquierdo (en orden). No preste atención al contrato, simplemente hice que pasara los casos de prueba porque no tenia tiempo.
Cambie de orden esa linea de código y ahora pasa todas las pruebas.
El error fue mio por empezar tarde la tarea y hacer el trabajo a las corridas (le dedique 3 días solamente). Sino fuese por la prorroga no llegaba (me dieron 3 días mas para entregar, con eso termine usoTads.cpp y iterador.cpp). No quiero justificarme, pero explicar que mi trabajo no me permite el lujo de dedicación total (explica, pero no justifica).
Con los errores se aprende y se graba a fuego en la memoria de uno. Lo bueno es que perdí 1 solo punto (hay que ver el vaso medio lleno, ¿no?), me da lastima, pero me doy cuenta de que debería haber escrito mis propios casos de prueba, en esta tarea se noto que los casos de prueba eran mas "livianos" que en otras veces. Algunos casos probaban muy poco algunas funciones, y otros casos abusaban de ciertas funciones (como imprimirBinario, que se utiliza mucho).
Mejor es perder un punto que ser eliminado, mejor perder un punto a la vida.
Aca les dejo un ejemplo:
https://es.wikipedia.org/wiki/Therac-25Un
error en el código fue la causa
de muerte en varias personas.