Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class Fraction{
- long num;
- long den;
- public:
- void setNum(int);
- void setDen(int);
- int getNum();
- int getDen();
- long gcd(long,long);
- Fraction add(Fraction,Fraction);
- Fraction sub(Fraction,Fraction);
- Fraction mult(Fraction,Fraction);
- Fraction div(Fraction,Fraction);
- Fraction inc(Fraction);
- void print();
- };
- void Fraction::setNum(int num)
- {
- Fraction::num = num;
- }
- void Fraction::setDen(int den)
- {
- Fraction::den = den;
- }
- int Fraction::getNum()
- {
- return Fraction::num;
- }
- int Fraction::getDen()
- {
- return Fraction::den;
- }
- long Fraction::gcd(long x, long y)
- {
- return (x==0)?y:gcd(y%x,x);
- }
- Fraction Fraction::add(Fraction first, Fraction second)
- {
- Fraction sum;
- sum.setNum(first.num*second.den+second.num*first.den);
- sum.setDen(first.den*second.den);
- return sum;
- }
- Fraction Fraction::sub(Fraction first, Fraction second)
- {
- Fraction dif;
- dif.setNum(first.num*second.den-second.num*first.den);
- dif.setDen(first.den*second.den);
- return dif;
- }
- Fraction Fraction::mult(Fraction first, Fraction second)
- {
- Fraction prod;
- prod.setNum(first.num*second.num);
- prod.setDen(first.den*second.den);
- return prod;
- }
- Fraction Fraction::div(Fraction first, Fraction second)
- {
- Fraction div;
- div.setNum(first.num*second.den);
- div.setDen(first.den*second.num);
- return div;
- }
- /*Fraction Fraction::inc(Fraction f)
- {
- Fraction temp;
- temp.setNum(num+=den);
- return temp;
- }*/
- void Fraction::print()
- {
- Fraction f;
- f.setNum(Fraction::getNum()/gcd(Fraction::getNum(),Fraction::getDen()));
- f.setDen(Fraction::getDen()/gcd(Fraction::getNum(),Fraction::getDen()));
- std::cout<<f.getNum()<<"/"<<f.getDen()<<"\n";
- }
- int main()
- {
- Fraction f1, f2, f3, f4, f5, f6, f7;
- f1.setDen(2L);
- f1.setNum(0L);
- f1.print();
- f2.setDen(4L);
- f2.setNum(3L);
- f2.print();
- f3.add(f1,f2);
- f3.print();
- f4.sub(f1, f2);
- f4.print();
- f5.mult(f1, f2);
- f5.print();
- f6.div(f1, f2);
- f6.print();
- //f7.inc(f1);
- //f7.print();
- }
Advertisement
Add Comment
Please, Sign In to add comment