Racionals (2) P84584


Statement
 

pdf   zip   main.cc

html

Usant la mateixa definició dels racionals que a l’exercici P85696, feu una funció amb dos paràmetres de sortida:

void llegeix_racional(Racional& r, bool& final);

que intenti llegir un racional representat per dos enters (el numerador i el denominador), en retorni el racional corresponent un cop “normalitzat” segons la mateixa convenció que a l’exercici , i indiqui si s’han pogut llegir els dos enters o no. Cal que final valgui true si i només si no s’han pogut llegir els dos enters (perquè l’entrada s’ha acabat). El valor de r és irrellevant quan final és cert.

Precondició

Cap dels denominadors llegits serà 0.

Feu també una acció

void escriu_racional(const Racional& r);

que escrigui el racional r amb el format r.num/r.den, a no ser que el denominador sigui 1, cas en el qual cal escriure simplement el numerador. No escrigueu espais intermitjos ni cap salt de línia al final.

Precondició

El racional r és correcte i ja està normalitzat.

Observació Només cal enviar el procediment demanat; el programa principal serà ignorat. Seguiu estrictament la definició dels tipus de l’enunciat.

Information
Author
Salvador Roura
Language
Catalan
Other languages
English
Official solutions
C++
User solutions
C++