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, d que representen les fraccions $\frac{a}{b}$ i
$\frac{c}{d}$. Es compleix que b ≠ 0 i d ≠ 0

Sortida

La suma de cada parell de fraccions $\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
$\frac{0}{n}$, només cal escriure 0. Si la fracció és $\frac{n}{1}$,
només cal escriure n. 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
