Escriviu el codi del mètode compleix_suma_fills
de la classe
arbreBin
que, donat un arbre binari d’enters, compleix que per tot node
el seu valor és igual a la suma dels valors dels nodes (arrels) del fill
esquerre i del fill dret. Considereu que els fills buits tenen un valor de
node igual a 0, i que els nodes fulla sempre compleixen la propietat.
Entrada
Com a entrada hi haurà la mida de l’arbre i els nodes de l’arbre binari en postordre. Per cada node s’indica el seu valor i el nombre de fills (2 fills, -1 indica un fill esquerra, 1 indica un fill dret o 0 fills).
Per llegir els arbres, s’ha utilitzat l’operador >>
que es troba definit
a la classe arbreBin
.
Sortida
Com a sortida es mostrarà l’estructura de l’arbre binari seguit d’un d’aquests dos textos:
L'arbre compleix la propietat 'Suma dels fills'. L'arbre no compleix la propietat 'Suma dels fills'.
Per escriure els arbres, s’ha utilitzat l’operador <<
que es troba
definit a la classe arbreBin
.
Observació
Feu la solució usant els atributs privats de la classe enlloc dels mètodes públics. Per això s’ha definit a la part privada de la classe aquest mètode que també heu d’implementar:
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar arbreBin_compleix_suma_fills.cpp
Observeu que per compilar us donem el Makefile
, la classe
arbreBin
amb tots els seus mètodes implementats excepte els dos mètodes
compleix_suma_fills
i el programa principal program.cpp
.
Input
6 3 0 5 0 8 2 2 0 2 -1 10 2
Output
[10] \__[2] | \__. | \__[2] | \__. | \__. \__[8] \__[5] | \__. | \__. \__[3] \__. \__. L'arbre compleix la propietat 'Suma dels fills'.
Input
7 2 0 7 0 1 1 6 0 5 -1 6 2 8 2
Output
[8] \__[6] | \__[5] | | \__. | | \__[6] | | \__. | | \__. | \__[1] | \__[7] | | \__. | | \__. | \__. \__[2] \__. \__. L'arbre no compleix la propietat 'Suma dels fills'.