Beispiel #1
0
    //overloadind add operator
    public static Fraction operator +(Fraction ob1, Fraction ob2)
    {
        Fraction sum = new Fraction(0);

        sum.denumerator = EvclidAlg.Lcm(ob1.denumerator, ob2.denumerator);
        sum.numerator   = ob1.numerator * (sum.denumerator / ob1.denumerator) + ob2.numerator * (sum.denumerator / ob2.denumerator);
        sum.RefuceFraction();
        return(sum);
    }
Beispiel #2
0
    //overloadind substraction(sub) operator
    public static Fraction operator -(Fraction ob1, Fraction ob2)
    {
        Fraction sub = new Fraction(0);

        sub.denumerator = EvclidAlg.Lcm(ob1.denumerator, ob2.denumerator);
        sub.numerator   = ob1.numerator * (sub.denumerator / ob1.denumerator) - ob2.numerator * (sub.denumerator / ob2.denumerator);
        sub.RefuceFraction();
        return(sub);
    }
Beispiel #3
0
    //reduce fractions
    private void RefuceFraction()
    {
        int nsd = EvclidAlg.Gcd(numerator, denumerator);

        if (nsd != 1)
        {
            numerator   = numerator / nsd;
            denumerator = denumerator / nsd;
        }
    }