Adding a series of fractions

+2 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.

Post a Reply

Replies

- page 1
Oldest  Newest  Rating
0 Patricia Ghann · January 6, 2015
This is what I have come out with so far.
#include<iostream>
using 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.

#include<iostream>
using 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" <<endl;
cin>> fraction;

while (fraction < 1/3){
sum = sum + fraction;
numberOfFractionEntered++;

cout<< "Enter next fraction or -1 to quit" <<endl;
cin>>fraction;
}

cout<<sum <<endl;


return 0;

}
-1 Patricia Ghann · January 6, 2015
Lol thanks
0 Stan Botha · January 6, 2015
is your intention to display the fractions with a numerator over a demoninator? or is displaying it as a decimal acceptable, if the former, then the solution would be much simpler. if you use integer division, the fractional portion of the output is discarded. You can do explicit conversion of the data types with something like
int num, den;
float fraction;
fraction = float(num)/float(den);



its way easier just to use float variables to begin with.

also, what are you trying to achieve with the while loop? do you want to add only fractions less than 0.33*? ie, if the user enters a larger fraction the loop should stop?
0 Number Double07 · January 6, 2015
I think it would be easier if you prompted the user to enter the numerator, then the denominator within a while loop.
0 Patricia Ghann · January 6, 2015
The assignment is : "write a program to sum the following series: 1/3+3/5+5/7+9/11+11/13+13/15 +...............95/97+97/99.

I want  to write the program that allows the user to input the fraction and then sum  all of them up like a sentinel controlled program. Help please today is the last before submission. Thanks
0 Number Double07 · January 6, 2015
Does the answer have to be in a fractional form, or can you have an answer as a float? 
0 Number Double07 · January 6, 2015
This is the way I would approach this.  Initialize all numerator and denominator values at 0.  Then, make the user input numerator and denominator values while in a while loop.  The while loop should be set to run while the numerator is not equal to -1 and or the denominator too, or else it will end.  Then you can just divide the numerator by the denominator, sum it up each time ti runs through the loop.  This should work.  I'm going to try to create it to see if it works.  I'm new to this, so this is a good exercise for me too.
0 Patricia Ghann · January 7, 2015
Please help:(. Don't know what is going on now. I have modified the code and its not doing what its meant to do.

#include<iostream>
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" <<end;
cin>> fraction;

while (fraction !=-1){
//sum = sum + fraction;
//numberOfFractionEntered++;
cin>>num;
cout<<num<< "/"<< endl;
cin>> den;
cout<<den<<endl;

cout<< "Enter next fraction or -1 to quit" <<endl;
//cin>>fraction;
sum = sum + fraction;
numberOfFractionEntered;
}

cout<<sum <<endl;


return 0;

}
0 c student · January 7, 2015
you may want to declare a struct fraction which contains members num and den.  when you request input, you could ask how many fractions they may want to enter in which sets the amount of loops.  you will need to input the numerator and denominator separately for each fraction.

once that's done, you may want to create a loop with a function containing a fraction-adding algorithm. 
> fractionResult.num = fraction1.num*fraction2.den + fraction2.num*fraction1.den
> fractionResult.den = fraction1,den*fraction2.den

an example: if you want to calculate 1/3 + 3/5:
> fractionResult.num = 1*5+3*3 = 5+9 = 14
> fractionResult.den = 3*5 = 15
resulting in a fraction result struct representing 14/15, save the value and add on the next input fraction
0 Number Double07 · January 7, 2015
It would be easier if you requested the user to input the numerator, then the denominator.  I tried the fraction input method using your code, but I'm not sure what is going on there myself.  It's more complicated, it can probably be done, but I don't know how to do it.  Also, both requests (cout statements of numerator and denominator)  need to be inside the while loop so it knows to end when it user inputs the -1 value.
  • 1
  • 2

C++

106,974 followers
About

Used in many types of software including music players, video games, and many large scale applications.

Links
Moderators
Bucky Roberts Administrator