ARBRE

En aquest exercici considerarem arbres que tenen en els seus nodes els
operands +,-,*, i valors numèrics. Per exemple, l’arbre
-(+(+(5,2),-(3,4)),-(5,1)). També considerarem un valor independent que
haurà de ser buscat a l’arbre.

EXERCICI:

Implementeu una funció que, donat un arbre binari de valors i els
operands +,-,*, retorna el nivell en que es troba el numero buscat per
primera vegada,comptant que l’arrel és el nivell 0, si aquest valor no
està a l’arbre, ha de retornar -1 . Aquesta és la capçalera:

    // Pre:  t és un arbre no buit que representa una expressió correcta
    //      sobre els naturals i els operadors +,-,*.
    //       Les operacions no produeixen errors d'overflow.
    // Post: Retorna el nombre de subarbres de t que s'avaluen a x.

    int numberSubtreesEvaluateToParam(const BinaryTree<string> &t, int x){

Aquí tenim un exemple de paràmetre d’entrada de la funció i la
corresponent sortida: int
numberSubtreesEvaluateToParam(-(+(+(5,2),-(3,4)),-(5,1)), 6) = -1

Fixeu-vos que l’enunciat d’aquest exercici ja ofereix uns fitxers que
haureu d’utilitzar per a compilar: Makefile, program.cpp,
BinaryTree.hpp,numberSubtreesEvaluateToParam.hpp, utils.hpp, utils.cpp.
Us falta crear el fitxer numberSubtreesEvaluateToParam.cpp amb els
corresponents includes i implementar-hi la funció anterior. Valdrà la
pena que utilitzeu algunes de les funcions oferides a utils.hpp. Quan
pugeu la vostra solució al jutge, només cal que pugeu un tar construït
així:

    tar cf solution.tar numberSubtreesEvaluateToParam.cpp

Entrada

L’entrada té un nombre arbitrari de casos. Cada cas consisteix en una
línia amb un string descrivint un arbre binari d’strings i també un
valor independent que haurà de ser buscat a l’arbre. 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 Aqui teniu un exemple:

    -(*(-(10,5),8),+(+(13,5),+(7,3)))
    8

Sortida

Per a cada cas, la sortida conté el corresponent numero de nodes que es
visita per trobar per primera vegada el valor que cal cercar dins de
l’arbre. Fixeu-vos en que el programa que us oferim ja s’encarrega
d’escriure aquest valor. Només cal que implementeu la funció abans
esmentada. Aqui teniu la sortida esperada del programa anterior:

    2

Informació del problema

Autoria: Alumnepro12223_

Generació: 2026-01-25T21:20:18.500Z

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