Feu un programa que calculi el resultat de sumar una seqüència de fraccions.
Utilitzant la definició
struct Fraccio {
int num, den; // sempre estrictament positius
};
el vostre programa ha d’incloure i fer servir la funció
Fraccio suma(const Fraccio& x, const Fraccio& y);
que retorna la suma de |x| i |y|, sense factors comuns en el numerador i el denominador.
L’entrada és una seqüència d’una o més fraccions simplificades separades per signes de suma, acabada en un igual. Cada fracció consisteix en el seu numerador, una barra, i el seu denominador. Els numeradors i els denominadors són naturals estrictament positius.
Escriviu la fracció simplificada corresponent a la suma de totes les fraccions donades.
Per evitar sobreeixements, useu la funció |suma()| per acumular els càlculs parcials.
Es valorà negativament el càlcul ineficient del màxim comú divisor.
No podeu usar vectors per resoldre aquest problema.
Input
1/2 + 1/2 =
Output
1/1
Input
1/2 + 2/3 + 3/4 + 4/5 + 5/6 =
Output
71/20
Input
1/10125 + 1/8000 + 1000/999 =
Output
4801073/4795200
Input
9/4 =
Output
9/4