Implementa la funció:
/** * @brief Suma els valors d'un arbre. * * Si un arbre és buit, el seu valor és 0. * * Altrament, la seva suma és el valor de l'arrel més la * suma dels valors dels fills. * * @param t Un arbre. * @returns La suma dels valors dels nodes de l'arbre `t`. */ int tree_sum(Tree<int> t);
El paràmetre t
és un arbre d’enters. La funció retorna la suma dels valors dels nodes de l’arbre.
Observació
Els fitxers públics (icona del gatet) són: la classe Tree
(fitxer tree.hh
), l’entrada/sortida de Tree
(tree-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_sum
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ó.
Els exemples d’entrada/sortida mostren que el main
que utilitza el Jutge llegeix una seqüència d’arbres i, per a cadascún, crida la funció tree_sum
, mostrant les sumes en línies separades. (Per tant, no cal implementar-lo.)
Input
1 |-- 2 |-- 3 |-- 4 |-- 5 |-- 6 '-- 7 # 1 |-- # |-- # |-- 3 '-- 2 2 |-- 3 | |-- 0 | |-- 1 | |-- # | '-- 5 |-- 0 |-- # |-- -3 |-- -3 |-- -2 '-- #
Output
28 0 6 3