Barreja d’arbres

Implementeu una funció RECURSIVA que, donats tres arbres binaris amb la
mateixa estructura, dos d’enters positius i un de caràcters d’operacions
aritmètiques; obté un nou arbre amb la mateixa estructura que conté, per
a cada posició, el resultat d’avaluar els valors dels nodes t1 i t2 amb
l’operador del node to, tots tres en la mateixa posició. Aquesta és la
capcelera:

    // Pre: Rep dos arbres binaris d'enters positius {\tt t1} i {\tt t2} i un de caràcters {\tt to} amb la mateixa estructura.
    // Post: Retorna un arbre amb la mateixa estructura, on a cada node hi ha el resultat d'avaluar els valors dels nodes {\tt t1} i {\tt t2}  amb l'operador de {\tt to}, tots tres en aquella posició. 
    BinaryTree<int> mixOfTrees(BinaryTree<int> t1,BinaryTree<int> t2, BinaryTree<char> to); 

Aquí tenim un exemple d’entrada de la funció i la seva corresponent
sortida:

    6(7(5,3),5(6,2))
    9(1(2,7),0(9,3))
    *(*(+,+),-(*,+))
    =>
    54(7(7,10),5(54,5))

Fixeu-vos que l’enunciat d’aquest exercici ja ofereix uns fitxers que
haureu d’utilitzar per a compilar: Makefile, program.cpp,
BinaryTree.hpp, mixOfTrees.hpp. Només cal que creeu mixOfTrees.cpp,
posant-hi els includes que calguin i implementant la funció mixOfTrees.
I quan pugeu la vostra solució al jutge, només cal que pugeu un tar
construït així:

    tar cf solution.tar mixOfTrees.cpp

Entrada

L’entrada té un nombre arbitrari de casos. Cada cas consisteix en tres
línies. En cadascun d’aquests, les dues primeres línies tenen un string
que descriu un arbre binari d’enters positius i la tercera un arbre
binari de caràcters. Fixeu-vos en que el programa que us oferim ja
s’encarrega de llegir aquestes entrades. Només cal que implementeu la
funció abans esmentada.

Sortida

Per a cada cas, cal retornar l’arbre binari resultant d’avaluar els
valors dels nodes t1 i t2 amb l’operador del node to, tots tres en la
mateixa posició. Tots els resultats han de ser nombres enters positius,
es a dir, no poden haver nombres negatius. Fixeu-vos en que el programa
que us oferim ja s’encarrega d’escriure aquesta sortida. Només cal que
implementeu la funció abans esmentada.

Informació del problema

Autoria: María Elizo i Xavi Vila

Generació: 2026-01-25T21:04:46.732Z

© Jutge.org, 2006–2026.
https://jutge.org
