Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Fractions operator+(Fractions &y){
- Fractions temp;
- //er = &temp;
- temp.numerator = (numerator * y.denominator) + (y.numerator * denominator);
- temp.denominator = denominator * y.denominator;
- temp.reduction();
- return temp;
- }
- Fractions operator-(Fractions &y){
- Fractions temp;
- //er = &temp;
- temp.numerator = (numerator * y.denominator) - (y.numerator * denominator);
- temp.denominator = denominator * y.denominator;
- temp.reduction();
- return temp;
- }
- Fractions operator/(Fractions &y){
- Fractions temp;
- //er = &temp;
- temp.numerator = numerator * y.denominator;
- temp.denominator = denominator * y.numerator;
- temp.reduction();
- return temp;
- }
- Fractions operator*(Fractions &y){
- Fractions temp;
- //er = &temp;
- temp.numerator = numerator * y.numerator;
- temp.denominator = denominator * y.denominator;
- temp.reduction();
- return temp;
- }
- Fractions operator*(const int &y){
- Fractions temp,tempy;
- //er = &temp;
- //tempy.numerator = y;
- //tempy.denominator = 1;
- temp.numerator = numerator * y;
- temp.denominator = denominator;
- temp.reduction();
- return temp;
- }
- Fractions &operator=(Fractions &y){
- if(this == &y)
- return *this;
- numerator = y.numerator;
- denominator = y.denominator;
- reduction();
- return *this;
- }
- Fractions &operator=(const int &y){
- numerator = y;
- denominator = 1;
- return *this;
- }
- void reduction(){
- int min, d, n;
- n = numerator;
- d = denominator;
- if (n<d){
- min = n;
- }
- else
- min = d;
- bool flag = true;
- while(flag){
- flag = false;
- for (int i = 2; i<=min; i++)
- if (n%i==0 && d%i==0){
- n = n/i;
- d = d/i;
- flag = true;
- }
- }
- numerator = n;
- denominator = d;
- std::cout << "reduction reduction" << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement