void RED_Q_Q(fraction &RED) { integer NOD; NOD = GCF_NN_N(ABS_Z_N(RED.numenator), RED.denominator); //Ищем НОД числителя и знаменатель RED.numenator = DIV_ZZ_Z(ABS_Z_N(RED.numenator), NOD); //Делим числитель на НОД RED.denominator = DIV_ZZ_Z(RED.denominator, NOD);//Делим знаменатель на НОД }
struct RATIONAL RED_QQ_Q (struct RATIONAL a) { struct RATIONAL b; //Возвращаемая дробь struct NATURAL NOD=GCF_NN_N(a.numerator,a.denominator); //НОД числителя и знаменателя b.numerator=DIV_ZZ_Z(a.numerator,NOD); b.denominator=DIV_ZZ_Z(a.denominator,NOD); b.sign=a.sign; return b; }