Diferència entre dues cues usant memòria dinàmica X77542


Statement
 

pdf   zip   tar

El conjunt diferència entre dos conjunts AA i BB, escrit ABA-B, és el conjunt d’elements que pertanyen a AA però no pertanyen a BB.

Representem els conjunts AA i BB amb dues cues d’enters. Escriviu el codi del mètode diferencia de la classe Cua que, donada una cua d’enters, calcula la diferència entre la cua paràmetre implícit (conjunt AA) i la cua donada per paràmetre (conjunt BB), i deixa el resultat en la cua paràmetre implícit. És a dir, la cua paràmetre implícit passa a tenir els elements que tenia originalment, excepte els que apareixen a la cua donada per paràmetre.

Les dues cues estan ordenades de forma creixent.

L’especificació d’aquest mètode és:

void diferencia(const Cua &q);
/* Pre : La cua p.i. esta ordenada de forma creixent, q esta ordenada de forma
   creixent */
/* Post : La cua p.i. passa a tenir els elements que estaven al p.i original excepte
   els que apareixen a q */

Entrada

L’entrada conté dues cues d’enters. Per cada cua hi ha el seu nombre d’enters (n0n \geq 0) i els nn enters que la formen.

Per llegir les cues, s’ha utilitzat l’operador >> que es troba definit a la classe Cua.

Sortida

Com a sortida es mostren les dues cues d’entrada originals, seguides de la primera cua modificada amb el resultat de la diferència entre les dues cues.

Per escriure les cues, s’ha utilitzat l’operador << que es troba definit a la classe Cua.

Observació

Feu la solució usant els atributs privats de la classe Cua en lloc dels mètodes públics.

Heu d’enviar la solució comprimida en un fitxer .tar:

tar cvf program.tar cua_diferencia.cpp

Observeu que per compilar us donem el Makefile, la classe Cua amb tots els seus mètodes implementats, excepte diferencia, i el programa principal program.cpp.

Public test cases
  • Input

    3
    1 2 3
    3
    1 4 5
    

    Output

    Cua 1: <1|2|3<
    Cua 2: <1|4|5<
    Estat final cua 1: <2|3<
    
  • Input

    5
    1 2 3 4 5
    6
    6 7 8 9 10 11

    Output

    Cua 1: <1|2|3|4|5<
    Cua 2: <6|7|8|9|10|11<
    Estat final cua 1: <1|2|3|4|5<
    
  • Input

    4
    1 3 5 7
    8
    0 1 2 3 5 6 7 8
    

    Output

    Cua 1: <1|3|5|7<
    Cua 2: <0|1|2|3|5|6|7|8<
    Estat final cua 1: <<
    
  • Information
    Author
    Neus Català
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make