Suma de parells de fraccions

Escriviu un programa que sumi una seqüència de parells de fraccions. Per practicar el disseny descendent (top-down design), el programa ha de ser el resultat de completar les línies de codi esbossades a continuació.


   ....

   struct Rational {
        int num; // numerador
        int den; // denominador
    };


    //pre: ....
    //post: ....
    int gcd_euclides(...)

    //pre:---
    //post: retorna r en forma simplificada
    Rational simplify(Rational r)

    //....
    void write_rational(Rational r) {
        if (r.num == 0) cout << "0";
        else if (r.den == 1) cout << r.num;
        else cout << r.num << "/" << r.den;
    }

    ....
    ....
    ....

    int main() {
        Rational rat1, rat2, total={0,1};
        while (read_pair_rationals(....)) {
            Rational sum = sum_and_simp(....);
            write_sum(....);
            ...
        }
        write_result(total);
    }

Entrada

L’entrada consisteix en una seqüència de línies. Cada línia conté quatre nombres enters a,b,c,da, b, c, d que representen les fraccions ab\frac{a}{b} i cd\frac{c}{d}. Es compleix que b0b \neq 0 i d0d \neq 0

Sortida

La suma de cada parell de fraccions ab+cd\frac{a}{b} + \frac{c}{d} (una per línia) i, al final, la suma total de totes elles. Les fraccions resultants han d’estar simplificades: el numerador i el denominador no tenen cap factor comú, i el denominador és positiu. Si una fracció és 0n\frac{0}{n}, només cal escriure 00. Si la fracció és n1\frac{n}{1}, només cal escriure nn. Seguiu el format dels exemples de sota.

Informació del problema

Autoria: Lluís Marquez

Generació: 2026-09-09T10:07:53.000Z

© Jutge.org, 2006–2026.
https://jutge.org