Ejemplo n.º 1
0
DM_Q SUB_QQ_Q(DM_Q f1, DM_Q f2)
{
	DM_Q res; // результ. дробь
	res.a = SUB_ZZ_Z(MUL_ZZ_Z(f2.b, f1.a), MUL_ZZ_Z(f1.b, f2.a)); // находим числитель
	res.b = MUL_ZZ_Z(f1.b, f2.b);                                 // находим общий знаменатель 
	return res;   
} 
Ejemplo n.º 2
0
fraction MUL_QQ_Q(const fraction& Num1, const fraction& Num2) {  // умножение дробей
    fraction Num3;
    Num3.numerator = MUL_ZZ_Z(Num1.numerator, Num2.numerator);
    // перемножение числителей первой и второй дробей
    Num3.denominator = MUL_NN_N(Num1.denominator, Num2.denominator);
    // перемножение знаменателей первой и второй дробей
    Num3 = RED_Q_Q(Num3);  // упрощение полученной дроби
    return (Num3);
}
Ejemplo n.º 3
0
fraction ADD_QQ_Q(fraction a, fraction b)
{
	fraction sum = 0;
	if (b.denominator == a.denominator)//сравнение знаменателей слагаемых
	{	
		sum.denominator = b.denominator;//если равны, присвоить сумме знаменатель слагаемых
		sum.numerator = ADD_ZZ_Z(a.numerator,b.numerator);//
		return sum;
	}
	else{
		sum.denominator = LCM_NN_N(a, b);
		sum.numerator = ADD_ZZ_Z((MUL_ZZ_Z(a.numerator, TRANS_N_Z(sum.denominator / a.denominator))), MUL_ZZ_Z(b.numerator, TRANS_N_Z(sum.denominator / b.denominator)));
		return sum;
	}
}