# Adding a series of fractions

 Patricia Ghann · January 6, 2015 Hello Bucky, Happy New Year. Please I want to write a program in c++ to add a series of fractions and am finding it difficult so I need your help please. I want to add for example 1/3+3/5+5/7+7/9+9/11+...............+97/99.

## Replies

- page 1

 c student · January 7, 2015 here it is again, this time with simplified fraction result using euclid's gcd algorithm.  i apologize if the algorithm is hard to understand, i had just pulled it out of a piece of code i wrote last year.``#include #include // define a struct for a fraction type to hold// both numerator and denominatortypedef struct {    int num;    int den;} fraction;fraction fracAdd (fraction, fraction);fraction simplify (fraction frac);int main (void) {    // request amount of fractions    puts ("Please enter the amount of fractions");    // acquire number of fractions to be calculated    int amount = getchar()-48;    // declare array of fraction types according to the previous line    fraction frac[amount];    // declare a resultant fraction    fraction result;    // loop to enter in each fraction    for (int n = 0; n < amount; n++) {        // request numerator for fraction n        printf ("Please enter in the numerator for fraction %d\n", n+1);        // input into fraction array n for numerator member        scanf ("%d", &frac[n].num);        // request denominator for fraction n        printf ("Please enter in the denominator for fraction %d\n", n+1);        // input into fraction array n for denominator member        scanf ("%d", &frac[n].den);        if (frac[n].den == 0) {            fprintf (stderr, "\nZero is not a valid denominator value\n");            exit (1);        }        // this is just to place the first fraction into result        if (n == 0) {            result = frac[n];        // then for the rest of the fractions, add them onto the result        } else {            result = fracAdd (result, frac[n]);        }    } // simplify result with GCD    result = simplify (result);    // print result with numerator and denominator    printf ("Result: %d/%d\n", result.num, result.den);    return 0;}// function to add fractionsfraction fracAdd (fraction a, fraction b) {    // declare resultant fraction    fraction result;    // adding numerators    result.num = a.num*b.den+b.num*a.den;    // adding common denominator    result.den = a.den*b.den;    // return resultant    return result;}// Euclidean algorithm for GCDfraction simplify (fraction frac) {    int qot, rmd, m, n;    int i = 0;    int j = 0;    n = frac.num;    m = frac.den;        do {        if (n >= m) {            j = 1;            qot = n/m;            rmd = n % m;            if (rmd == 0) {                break;            }            if (m == 0) {                break;            }            n = m;            m = rmd;        } else if (m > n) {            j = 2;            qot = m/n;            rmd = m % n;            if (rmd == 0) {                break;            }            if (n == 0) {                break;            }            m = n;            n = rmd;        }        i++;    } while (i < 10);    if (j == 1) {        frac.num /= m;        frac.den /= m;    } else if (j == 2) {        frac.num /= n;        frac.den /= n;    }    return frac;}``note: have not tested for all cases, however should work nicely c student · January 8, 2015 doesn't matter to me.  i only do this so i can learn and if they end up learning too, then that's fine with me.  if they end up failing to provide at a given time, well that's just too bad. Patricia Ghann · January 8, 2015 Thanks a lot guys for your help. Patricia Ghann · January 6, 2015 This is what I have come out with so far.#includeusing namespace std;Hello, what seems to be the problem? This program builds and runs alright, but its not doing what I want. I need help have to submit by Thursday. Thanks.#includeusing namespace std;int main(){int num = 1;int den = 3;float fraction(num/den);int numberOfFractionEntered = 0;int sum = 0;cout<< "Enter first fraction or -1 to quit" <> fraction;while (fraction < 1/3){sum = sum + fraction;numberOfFractionEntered++;cout<< "Enter next fraction or -1 to quit" <>fraction;}cout<using namespace std;int main(){int num = 0;int den = 0;float fraction;fraction =float(num)/float(den);int numberOfFractionEntered = 0;double sum = 0;The court<< "Enter first fraction or -1 to quit" <> fraction;while (fraction !=-1){//sum = sum + fraction;//numberOfFractionEntered++;cin>>num;cout<> den;cout<>fraction;sum = sum + fraction;numberOfFractionEntered;}cout< fractionResult.num = fraction1.num*fraction2.den + fraction2.num*fraction1.den> fractionResult.den = fraction1,den*fraction2.denan example: if you want to calculate 1/3 + 3/5:> fractionResult.num = 1*5+3*3 = 5+9 = 14> fractionResult.den = 3*5 = 15resulting in a fraction result struct representing 14/15, save the value and add on the next input fraction
• 1
• 2

## C++

129,921 followers