Feu una funció recursiva tal que, donada una llista l
d’enters estrictament més grans que zero,
torni true
si i només si la llista està ordenada
per paritat.
Diem que una llista està ordenada per paritat quan els nombres d’una mateixa paritat (és a dir: senars per una banda i parells per una altra) estan ordenats de manera estríctament creixent
Per exemple, la llista:
7 9 4 33 6 8 22 57 32 34
està ordenada per paritat, ja que els parells (4 6 8 22 32 34
)
estan ordenats de manera estrictament creixent,
i els senars (7 9 33 57
) també.
En canvi, la llista:
7 9 4 33 6 8 23 57 32 34
no ho està per culpa del 23.
La funció que heu d’implementar va al fitxer
ordenadaParitat.cpp
i ha de tenir aquesta capçalera:
bool ordenadaParitat (const list<int>&);
Entrada
Una seqüència d’enters positius que representen una llista d’enters estrictament més grans que zero.
Sortida
SI
(sense accent) si la llista és ordenada per paritat,
NO
altrament.
Observació
Heu d’enviar el fitxer ordenadaParitat.cpp
amb la solució,
comprimit en un fitxer .tar:
tar cvf program.tar ordenadaParitat.cpp
Per a compilar us donem el Makefile
,
el programa principal program.cpp
,
la capçalera ordenadaParitat.hpp
i el fitxer utilitats.hpp
.
Input
7 9 4 33 6 8 22 57 32 34
Output
SI
Input
7 9 4 33 6 8 23 57 32 34
Output
NO