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);
Observació
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ó.
Entrada
Cada cas consisteix en una representació textual d’un arbre binari d’enters. (Aquesta lectura ja la fa el programa principal.)
Sortida
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 '-- #