Arbre binari de sumes W72736


Statement
 

pdf   zip   tar

thehtml

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.)

Public test cases
  • 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
    '-- #
    
    
  • Information
    Author
    PRO2
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++