Untitled

 avatar
unknown
c_cpp
5 months ago
826 B
5
Indexable
struct Fraction {
    int a, b;
    
    Fraction() {
        a = 0;
        b = 0;
    }
    Fraction(int n, int d) {
        a = n;
        b = d;
    }
    double value() {
        if(b == 0) {
            return -1;
        }
        else return (double)a/b;
    }
    Fraction simplify (Fraction x) {
        int a = x.a, b = x.b, temp;
        while(a % b != 0) {
            temp = a % b;
            a = b;
            b = temp;
        }
        x.a /= b;
        x.b /= b;
        return x;
    }
    void print() {
        Fraction simplified = simplify(*this);
        cout << simplified.a << "/" << simplified.b << endl;
    }
};

Fraction add(Fraction x, Fraction y) {
    Fraction result;
    result.a = x.a * y.b + y.a * x.b;
    result.b = x.b * y.b;
    result = result.simplify(result);
    return result;
}
Editor is loading...
Leave a Comment