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.
Una seqüencia de parells d’enters acabada en 0 0 i un enter .
S’escriu la pila i a continuació, si é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.
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.
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