Implementeu la següent funció:
/**
* @brief Retorna l'arbre de sumes de `t`.
*
* L'arbre de sumes és un arbre binari amb la mateixa forma
* de `t` però a on cada valor conté la suma dels valors
* del subarbre que penja de la mateixa posició a `t`.
*
* @param t L'arbre binari original.
*
* @returns L'arbre de sumes de `t`.
*/
BinTree<int> tree_of_sums(BinTree<int> t);
Els fitxers públics (icona del gatet) són: la classe
BinTree (fitxer bintree.hh), l’entrada/sortida
de BinTree (bintree-io.hh) i el programa
principal. També hi ha un Makefile i el directori
.vscode que té la configuració per compilar i debuggar amb
VSCode.
Has d’implementar tree_of_sums en un fitxer
.cc nou, compilar (està preparat per poder
compilar i debuggar amb VSCode), i finalment enviar només el
fitxer amb la funció.
Cada cas consisteix en una representació textual d’un arbre binari d’enters. (Aquesta lectura ja la fa el programa principal.)
Per a cada cas, la sortida conté la representació textual de l’arbre
resultant d’aplicar la funció tree_of_sums. (La sortida
també la fa el programa principal.)
Input
8
|-- 5
'-- 3
8
|-- 7
| |-- 3
| '-- #
'-- 7
|-- 10
'-- #
4
|-- 8
| |-- 3
| | |-- #
| | '-- 7
| '-- 9
| |-- #
| '-- 9
'-- #
Output
16
|-- 5
'-- 3
35
|-- 10
| |-- 3
| '-- #
'-- 17
|-- 10
'-- #
40
|-- 36
| |-- 10
| | |-- #
| | '-- 7
| '-- 18
| |-- #
| '-- 9
'-- #