Cerca en piles de parints X18958


Statement
 

pdf   zip   tar

html

Donada una pila de parells d’enters, escriviu un programa tal que, donat un enter, indiqui si aquest enter apareix com a primer element d’un parell.

Entrada Una seqüencia de parells d’enters acabada en 0 0 i un enter n.

Sortida S’escriu la pila i a continuació, si n éxisteix com primer enter d’un parell s’escriu el segon, en cas contrari s’escriu “No trobat”. Si n’hi ha més d’un, només es té en compte la primera aparició des d’el cim.

Observació

Heu d’enviar tres fitxers en un sol .tar:

  • PilaIOParInt.hh amb les funcions

    void llegirPilaParInt(stack<ParInt>& p);
    // Pre: p és buida; el canal estandar d’entrada conté un nombre
    // parell d’enters, acabat pel parell 0 0

    // Post: s’han apilat a p els elements llegits fins al 0 0 (no inclòs)

    void escriurePilaParInt(stack<ParInt> p);
    // Pre: cert
    // Post: s’han escrit al canal estandar de sortida els elements de p

  • PilaIOParInt.cc amb la seva codificació.
  • program.cc amb el programa.

Observeu que per als parells d’enters us donem la classe ParInt que detecta si el parell llegit és 0 0 i per compilar us donem el Makefile.

Public test cases
  • Input

    2 3
    3 3
    0 0
    5
    

    Output

    3 3
    2 3
    No trobat
    
  • Input

    3 5 
    23 45 
    3 4 
    0 0 
    3
    

    Output

    3 4
    23 45
    3 5
    4
    
  • Information
    Author
    Xavier Messeguer (responsable)
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make