Llista ordenada per paritat. X27628


Statement
 

pdf   zip   tar

html

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.

Public test cases
  • 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
    
  • Information
    Author
    PRO1-Vilanova
    Language
    Catalan
    Official solutions
    Make
    User solutions