Sustituciones en un árbol V51216


Statement
 

pdf   zip   tar

thehtml

Añadir a la clase ArbreGen la operación que se especifica a continuación:

/**
* @pre:  Cierto.
*
* @post: En el parámetro implícito se han sustituido todas las
*        apariciones de 'x' por 'y', y el resultado es el número
*        de sustituciones realizadas.
*/ 
int sustituir(const T& x, const T& y);

(Encontraréis el método sustituir al final del fichero ArbreG.hh.)

Los ficheros públicos (icono del gatito) incluyen un .tar con main.cc, ArbreG.hh, ArbreG-io.h y un Makefile. También se incluye una copia de los juegos de prueba públicos por comodidad. En la carpeta donde se descompriman se puede: compilar con "make"; y testear con "make test".

El main.cc ya se encarga de leer la entrada, hacer la sustitución y producir la salida. Para entregar, solo es necesario subir al Jutge vuestro archivo ArbreG.hh modificado.

Entrada

La entrada ya la gestiona main.cc y contiene una secuencia de sustituciones, que empiezan por la palabra "sust", seguido del valor antiguo y el nuevo, seguido del árbol en un formato generado por ArbreG-io.hh (más fácil de leer y escribir).

Salida

La salida también la gestiona main.cc y es una secuencia con los resultados de hacer las sustituciones en cada árbol, con una frase indicando el número de sustituciones realizadas seguido del árbol resultado.

Observaciones

Con el fin de programar la operación anterior, podríais necesitar alguna operación privada y posiblemente static.

No utilicéis ninguna operación primitiva de ArbreGen. Acceded directamente a los atributos de la clase para trabajar.

Public test cases
  • Input

    sust 2 6
    1
    |-- 2
    |   '-- 3
    |-- 4
    |   |-- 5
    |   '-- 6
    '-- 2 
        |-- 8
        '-- 2
    

    Output

    Se han hecho 3 sustituciones
    1
    |-- 6
    |   '-- 3
    |-- 4
    |   |-- 5
    |   '-- 6
    '-- 6
        |-- 8
        '-- 6
    
  • Input

    sust 0 8
    0
    |-- 0
    |-- 1
    '-- 0 
        |-- 0
        |-- 0
        |   '-- 0
        |-- 0
        '-- 1
    

    Output

    Se han hecho 7 sustituciones
    8
    |-- 8
    |-- 1
    '-- 8
        |-- 8
        |-- 8
        |   '-- 8
        |-- 8
        '-- 1
    
  • Information
    Author
    PRO2
    Language
    Spanish
    Translator
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    Unknown.
    User solutions
    C++