Donada una cua de parells d’enters, on el primer és un identificador d’usuari i el segon el temps esperat de la gestió que vol fer, dissenyeu una operació que reparteixi els usuaris en dues noves cues de tal manera que
Entrada Una seqüencia de parells d’enters acabada en 0 0.
Sortida El contingut de les dues cues.
Observació
Heu d’enviar tres fitxers en un sol .tar:
void llegirCuaParInt(queue<ParInt>& c);
// Pre: c és buida; el canal estandar d’entrada conté un nombre
// parell d’enters, acabat pel parell 0 0
// Post: s’han encuat a c els elements llegits fins al 0 0 (no inclòs)
void escriureCuaParInt(queue<ParInt> c);
// Pre: cert
// Post: s’han escrit al canal estandar de sortida els elements de c
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.
Aquest mateix exercici admet una segona solució on l’operació que fa la distribució només produeix una cua nova, tot traient elements de l’original, i escrivint les dues.
Input
3 2 6 3 2 5 11 1 8 4 5 3 9 2 1 3 7 4 15 2 4 3 0 0
Output
3 2 2 5 5 3 1 3 15 2 6 3 11 1 8 4 9 2 7 4 4 3