Example #1
0
        static void Main(string[] args)
        {
            try
            {
                RationalNr rationalNr1 = new RationalNr();
                RationalNr rationalNr2 = new RationalNr(2, 7);
                int        realNr      = 4;

                Console.WriteLine($"{rationalNr1} + {rationalNr2} = {rationalNr1 + rationalNr2}");
                Console.WriteLine($"{rationalNr1} - {rationalNr2} = {rationalNr1 - rationalNr2}");
                Console.WriteLine($"{rationalNr1} * {rationalNr2} = {rationalNr1 * rationalNr2}");
                Console.WriteLine($"{rationalNr1} / {rationalNr2} = {rationalNr1 / rationalNr2}");
                Console.WriteLine($"{rationalNr1} ^ {realNr} = {rationalNr1 ^ realNr}");
                Console.WriteLine($"{rationalNr1} < {rationalNr2} = {rationalNr1 < rationalNr2}");
                Console.WriteLine($"{rationalNr1} > {rationalNr2} = {rationalNr1 > rationalNr2}");
                Console.WriteLine($"{rationalNr1} <= {rationalNr2} = {rationalNr1 <= rationalNr2}");
                Console.WriteLine($"{rationalNr1} >= {rationalNr2} = {rationalNr1 >= rationalNr2}");
                Console.WriteLine($"{rationalNr1} == {rationalNr2} = {rationalNr1 == rationalNr2}");
                Console.WriteLine($"{rationalNr1} != {rationalNr2} = {rationalNr1 != rationalNr2}");
            }
            catch (ArgumentException error)
            {
                Console.WriteLine(error.Message);
            }
        }
Example #2
0
        public static RationalNr operator ^(RationalNr a, int b)
        {
            RationalNr result = a;

            for (int i = 0; i < b - 1; i++)
            {
                result *= a;
            }

            return(result);
        }
Example #3
0
        static bool compareTwoFractions(RationalNr a, RationalNr b, string relationalOperator)
        {
            int rightSide = a.numerator * b.denominator;
            int leftSide  = a.denominator * b.numerator;

            return(relationalOperator switch
            {
                "<" => rightSide <leftSide,
                                  ">" => rightSide> leftSide,
                "<=" => rightSide <= leftSide,
                ">=" => rightSide >= leftSide,
                "!=" => rightSide != leftSide,
                "==" => rightSide == leftSide,
                _ => false,
            });
Example #4
0
        static RationalNr addingOrSubtractingTwoFractions(RationalNr a, RationalNr b, char operation = '+')
        {
            int lcd = getLCD(a.denominator, b.denominator);

            int multiplierForA = lcd / a.denominator;
            int multiplierForB = lcd / b.denominator;

            RationalNr c = new RationalNr(a.numerator * multiplierForA, a.denominator * multiplierForA);
            RationalNr d = new RationalNr(b.numerator * multiplierForB, b.denominator * multiplierForB);

            int numerator = operation == '+'
                ? c.numerator + d.numerator
                : c.numerator - d.numerator;

            return(new RationalNr(numerator, c.denominator).simplifiedForm());
        }