コード例 #1
0
ファイル: Program.cs プロジェクト: moran321/dotNetCourse
        static void Main(string[] args)
        {
            //// Lab 3 test:
            Rational number  = new Rational(4, 5);
            Rational number2 = new Rational(16, 20);
            Rational number3 = new Rational(5);

            Console.WriteLine("numbe1: {0}, number2: {1} , number3: {2}", number.ToString(), number2.ToString(), number3.ToString());
            number2.Reduce();
            Console.WriteLine("reduced number2: " + number2.ToString());
            number.Mul(number);
            Console.WriteLine("number1 * number2: " + number.Mul(number).ToString());
            Console.WriteLine("Is equal? " + number.Equals(number2));
            Console.WriteLine("Is number equals to 7? " + number.Equals(7));
            Console.WriteLine("number1 + number2: " + number.Add(number2).ToString());

            //Lab appendix test:
            Console.WriteLine("operator + : number+number2= " + (number + number2).ToString());
            Console.WriteLine("operator * : number*number2= " + (number * number2).ToString());
            Console.WriteLine("operator / : number/number2= " + (number / number2).ToString());
            Console.WriteLine("operator - : number-number2= " + (number - number2).ToString());
            Console.WriteLine("(double) casting : (double)(number2)= " + ((double)(number2)).ToString());
            Console.WriteLine("casting : (Rational)number3= " + ((Rational)(number3)).ToString());

            Console.Read();
        }/*********************/
コード例 #2
0
        public static void Main()//testing the rational struct
        {
            Rational rat1 = new Rational(3, 4);
            Rational rat2 = new Rational(5, 6);
            Rational rat3 = new Rational(6, 7);
            Rational rat4 = new Rational(5, 6);
            Rational rat5 = new Rational(5);

            Console.WriteLine(rat1.ToString());
            Console.WriteLine(rat2.ToString());
            Console.WriteLine(rat3.ToString());
            Console.WriteLine(rat5.ToString());
            Console.WriteLine("{0},{1},{2},{3}\n", rat1.GetAsDouble, rat2.GetAsDouble, rat3.GetAsDouble, rat5.GetAsDouble);
            Rational newRat = rat1.Add(rat2);

            Console.WriteLine(newRat.ToString());
            newRat.Reduce();
            Console.WriteLine("rational number after reduction {0}", newRat.ToString());
            Rational newRat2 = rat2.Mul(rat3);

            Console.WriteLine(newRat2.ToString());
            newRat2.Reduce();
            Console.WriteLine("rational number after reduction {0}", newRat2.ToString());

            if (rat2.Equals(rat4))
            {
                Console.WriteLine("the numbers are equal");
            }
            else
            {
                Console.WriteLine("not equal");
            }
        }
コード例 #3
0
        // Returns per-row errors
        public static string[] GetErrors(Tempered[] ts, Subgroup subgroup)
        {
            if (ts == null)
            {
                return(null);
            }

            string[] errors = new string[ts.Length];

            Rational[] indep     = new Rational[ts.Length]; // independent intervals
            int        indepSize = 0;

            for (int i = 0; i < ts.Length; ++i)
            {
                Rational r     = ts[i].rational;
                string   error = null;
                if (r.IsDefault())
                {
                    error = "Invalid rational";
                }
                else if (r.Equals(Rational.One))
                {
                    error = "1/1 can't be tempered";
                }
                else if (!subgroup.IsInRange(r))
                {
                    error = "Out of JI range";
                }
                else
                {
                    if (indepSize > 0)
                    {
                        var m      = new Vectors.Matrix(indep, -1, indepSize, makeDiagonal: true);
                        var coords = m.FindRationalCoordinates(r);
                        if (coords != null)
                        {
                            error = "";
                            for (int j = 0; j < coords.Length; ++j)
                            {
                                if (coords[j].sign != 0)
                                {
                                    error += String.Format(" * {0}^{1}", indep[j].FormatFraction(), coords[j].FormatFraction());
                                }
                            }
                            if (error.Length != 0)
                            {
                                error = "Dependend: " + error.Substring(2);
                            }
                        }
                    }
                    indep[indepSize++] = r;
                }
                errors[i] = error;
            }

            return(errors);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: RoiRamot/Homework-10.3
        static void Main(string[] args)
        {
            Rational first = new Rational();
            Rational second = new Rational();
            first.Numerator = 2;
            first.Denominator = 4;
            second.Numerator = 4;
            second.Denominator = 8;

            Console.WriteLine("the numbers are:");
            Console.WriteLine(first.ToString());
            Console.WriteLine(second.ToString());
        
            Console.WriteLine();
            Console.WriteLine("the decimal value is:");
            Console.WriteLine(first.Decimalvalue);
            Console.WriteLine(second.Decimalvalue);
          
            Console.WriteLine();
            Console.WriteLine("the reduced rationals are:");
            Console.WriteLine(first.ReduceRational().ToString());
            Console.WriteLine(second.ReduceRational().ToString());

            Console.WriteLine();
            Console.WriteLine("the added rationals are:");
            Console.WriteLine(first.AddRational(second).ToString());

            Console.WriteLine();
            Console.WriteLine("the Multiply of the rationals are:");
            Console.WriteLine(first.MulRational(second).ToString());

            Console.WriteLine();
            Console.WriteLine("are the two rational equal");
            Console.WriteLine(first.Equals(second));

            Console.WriteLine();
            Console.WriteLine("addition");
            Rational addition = first + second;
            Console.WriteLine(addition.ToString());

            Console.WriteLine();
            Console.WriteLine("subtruct");
            Rational subtruct = first - second;
            Console.WriteLine(subtruct.ToString());

            Console.WriteLine();
            Console.WriteLine("devide");
            Rational devide = first / second;
            Console.WriteLine(devide.ToString());

            Console.WriteLine();
            Console.WriteLine("multiply");
            Rational multiply = first * second;
            Console.WriteLine(multiply.ToString());
            
            Console.ReadLine();
        }
コード例 #5
0
 public EqualDivision(int stepCount, Rational basis)
 {
     _stepCount = stepCount;
     _stepCents = basis.ToCents() / stepCount;
     if (_stepCents == 12 && basis.Equals(Rational.Two))
     {
         _noteNames = "C C# D D# E F F# G G# A A# B B#".Split(' ');
     }
 }
コード例 #6
0
        static void Main(string[] args)
        {
            Rational ra1 = new Rational(5, 10);
            Rational ra2 = new Rational(20, 40);

            Console.WriteLine("Creating ra1 = 5/10  and ra2=20/40");
            Console.WriteLine("");
            ra1.reduce();


            Console.WriteLine("ra1 after reduce is:  numinator: " + ra1.Numerator + " denom: " + ra1.Denominator);
            Console.WriteLine();
            Console.WriteLine();

            Console.WriteLine("Result of ra1.Equals(ra2) = " + ra1.Equals(ra2));
            Console.WriteLine();
            Console.WriteLine();

            Console.WriteLine("creating Rational ra3 = ra1 + ra2 :");
            Rational ra3 = Rational.Add(ra1, ra2);

            Console.WriteLine("Result: ra3 = " + ra3);
            Console.WriteLine();

            Console.WriteLine("creating Rational ra4 = ra1 * ra2 :");
            Rational ra4 = Rational.Mul(ra1, ra2);

            Console.WriteLine();
            Console.WriteLine("result: " + ra4);
            Console.WriteLine();

            Console.WriteLine("ra1: " + ra1 + " ra2: " + ra2 + " ra3: " + ra3 + " ra4: " + ra4);

            Console.WriteLine();

            Console.WriteLine();

            Console.WriteLine("Creating ra5 = 20/41");
            Rational ra5 = new Rational(20, 41);

            Console.WriteLine("ra1 == ra5  is : " + ra1.Equals(ra5));
        }
コード例 #7
0
        static void Main(string[] args)
        {
            Rational a = new Rational(2, 4);
            Rational b = new Rational(3, 6);
            Rational c = Rational.Add(a, b);
            Rational d = Rational.Mul(a, b);

            Console.WriteLine("a = " + a + ", value: " + a.Value);
            Console.WriteLine("b = " + b + ", value: " + b.Value);
            Console.WriteLine("a + b = " + c + ", value: " + c.Value);
            Console.WriteLine("a * b = " + d + ", value: " + d.Value);
            Console.WriteLine("a == b? " + a.Equals(b).ToString());
        }
コード例 #8
0
        static void Main(string[] args)
        {
            Rational r1 = new Rational(1, 2);
            Rational r2 = new Rational(1, 2);
            Rational r3;

            Console.WriteLine(r1 + r2);
            Console.WriteLine(r1 - r2);
            Console.WriteLine(r1 * r2);
            Console.WriteLine(r1 / r2);
            Console.WriteLine(r1.Equals(r2));

            Console.WriteLine((double)r1);
            Console.WriteLine(r1.ToDouble);

            r3 = (Rational)55;
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: orele1995/SUBMISSIONS
        static void Main(string[] args)
        {
            Rational r1 = new Rational(7, 8);
            Rational r2 = new Rational(5, 10);

            // add and mult
            Rational r3 = Rational.Add(r1, r2);
            Rational r4 = Rational.Mul(r1, r2);

            Console.WriteLine(r1 + " + " + r2 + " = " + r3);
            Console.WriteLine(r1 + " * " + r2 + " = " + r4);

            // reduce
            Console.Write(r1 + " = ");
            r1.Reduce();
            Console.WriteLine(r1);
            Console.Write(r2 + " = ");
            r2.Reduce();
            Console.WriteLine(r2);
            Console.Write(r3 + " = ");
            r3.Reduce();
            Console.WriteLine(r3);
            Console.Write(r4 + " = ");
            r4.Reduce();
            Console.WriteLine(r4);

            // equlas
            if (r3.Equals(r4))
            {
                Console.WriteLine(r3 + "=" + r4);
            }
            else
            {
                Console.WriteLine(r3 + "!=" + r4);
            }
            r1 = new Rational(7, 8);
            r2 = new Rational(5, 10);
            if (Rational.Mul(r1, r2).Equals(r4))
            {
                Console.WriteLine(Rational.Mul(r1, r2) + " = " + r4);
            }
            else
            {
                Console.WriteLine(Rational.Mul(r1, r2) + " != " + r4);
            }
        }
コード例 #10
0
        static void Main(string[] args)
        {
            Rational r1 = new Rational(48, 64);
            Rational r2 = new Rational(72, 48);

            r1.Reduce();
            Rational r3 = r1 + r2;
            Rational r4 = new Rational(6, 8);
            Rational r5 = r4 - r1;
            Rational r6 = r4 / r1;
            Rational r7 = (Rational)8;
            double   d1 = (double)r1;

            Console.WriteLine(r1.ToString());
            Console.WriteLine(r3.ToString());
            Console.WriteLine(r5.ToString());
            Console.WriteLine(r6.ToString());
            Console.WriteLine(r7.ToString());
            Console.WriteLine(d1);
            Console.WriteLine(r4.Equals(r1).ToString());
        }
コード例 #11
0
        public static int[] FindCoordinates(Rational[] basis, Rational vector, int vectorLength)
        {
            int basisSize = basis.Length;

            // get prime powers
            int[][] b = new int[basisSize][];
            for (int i = 0; i < basisSize; ++i)
            {
                b[i] = basis[i].GetPrimePowers();
            }
            int[] v = vector.GetPrimePowers();

            //
            Matrix matrix = new Matrix(b, v, vectorLength);

            int[] coordinates = matrix.FindCoordinates();

#if DEBUG
            // check result
            if (coordinates != null)
            {
                Rational r = Rational.One;
                for (int i = 0; i < coordinates.Length; ++i)
                {
                    r *= basis[i].Power(coordinates[i]);
                }
                if (!r.Equals(vector))
                {
                    throw new Exception(
                              String.Format("FindCoordinates failed: {0} != {1}", r, vector)
                              );
                }
            }
#endif

            return(coordinates);
        }
コード例 #12
0
        static void Main(string[] args)
        {
            try
            {
                Rational rationalA = new Rational(4, 8);
                Rational rationalB = new Rational(1, 3);

                Console.WriteLine(" rationalA Value : {0}", rationalA);
                Console.WriteLine(" rationalB Value : {0}", rationalB);

                Console.WriteLine(" The sum of rationalA and rationalB is : {0}", rationalA + rationalB);
                Console.WriteLine(" The result of multiplying rationalA and rationalB is : {0}", rationalA * rationalB);
                Console.WriteLine(" The result after subtract rationalB from rationalA is : {0}", rationalA - rationalB);
                Console.WriteLine(" The result after Divide rationalA by rationalB is : {0}", rationalA / rationalB);

                rationalA.Reduce();
                Console.WriteLine(" rationalA Value after reduce : {0}", rationalA);
                Console.WriteLine(" Is rationalA and rationalB are Equals: {0}", rationalA.Equals(rationalB));
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: nellya27/labsOfCodeValue
        public static void Main()//testing the rational struct
        {
            Rational rat1 = new Rational(3, 4);
            Rational rat2 = new Rational(5, 6);
            Rational rat3 = new Rational(6, 7);
            Rational rat4 = new Rational(5, 6);

            Console.WriteLine(rat1.ToString());
            Console.WriteLine(rat2.ToString());
            Console.WriteLine(rat3.ToString());

            Rational rat5 = rat1 + rat2;
            Rational rat6 = rat2 * rat3;
            Rational rat7 = rat3 / rat4;
            Rational rat8 = rat4 - rat1;

            Console.WriteLine(rat5.ToString());
            Console.WriteLine(rat6.ToString());
            Console.WriteLine(rat7.ToString());
            Console.WriteLine(rat8.ToString());

            Rational rat9  = new Rational(2, 4);
            Rational rat10 = new Rational(1, 2);

            if (rat9.Equals(rat10))
            {
                Console.WriteLine("the numbers are equal");
            }
            else
            {
                Console.WriteLine("the numbers are not equal");
            }


            Console.WriteLine("{0},{1},{2},{3}\n", rat1.GetAsDouble, rat2.GetAsDouble, rat3.GetAsDouble, rat5.GetAsDouble);
        }
コード例 #14
0
 public bool Equals(SomeInterval other)
 {
     return(rational.Equals(other.rational) && cents == other.cents); //!!! compare cents with threshold?
 }