Exemplo n.º 1
0
//accepts rational numbers and returns their difference
const Rat operator -(const Rat& r1, const Rat& r2){	
	int denom = lcm(r1.getDenom(), r2.getDenom());
	int num = (r1.getNum()*denom/r1.getDenom()) - (r2.getNum()*denom/r2.getDenom());

	Rat dif = Rat(num, denom);
	
	return dif.reduce();
}
Exemplo n.º 2
0
//accepts rational numbers and returns their product
const Rat operator *(const Rat& r1, const Rat& r2){	
	int denom = r1.getDenom() * r2.getDenom();
	int num = r1.getNum() * r2.getNum();

	Rat prod = Rat(num, denom);
	
	return prod.reduce();
}
Exemplo n.º 3
0
//accepts rational numbers and returns their sum
const Rat operator +(const Rat& r1, const Rat& r2){
	int denom = lcm(r1.getDenom(), r2.getDenom());
	int num = (r1.getNum()*denom/r1.getDenom()) + (r2.getNum()*denom/r2.getDenom());

	Rat sum = Rat(num, denom);
	
	return sum.reduce();
}