public void Add(Monom <T> monom)
 {
     if (polynom.Count == 0)
     {
         polynom.Add(monom);
         return;
     }
     for (int i = 0; i < polynom.Count; i++)
     {
         if (polynom[i].pow == monom.pow)
         {
             T sum = _calculator.Sum(polynom[i].coef, monom.coef);
             polynom.Remove(polynom[i]);
             monom.coef = sum;
             polynom.Insert(i, monom);
             return;
         }
     }
     for (int i = 0; i < polynom.Count; i++)
     {
         if ((polynom[i].pow < monom.pow))
         {
             polynom.Insert(i, monom);
             return;
         }
     }
     polynom.Add(monom);
 }
        public Monom <decimal> GetRandomMonom()
        {
            var monom = new Monom <decimal>();
            var rnd   = new Random();

            monom.coef = rnd.Next() % 10;
            monom.pow  = rnd.Next() % 10;
            return(monom);
        }
Example #3
0
        static void Main()
        {
            var    A = new Matrix(3);
            var    B = new Matrix(3);
            Matrix C = null;

            foreach (var i in A)
            {
                Console.WriteLine(i);
            }

            Console.WriteLine(A);
            Console.WriteLine(A.Transposed());

            Console.WriteLine(A + C);

            Monom <Matrix> monom1 = new Monom <Matrix>(B, 4);
            Monom <Matrix> monom2 = new Monom <Matrix>(A, 5);
            Monom <Matrix> monom3 = new Monom <Matrix>(B);
            Monom <Matrix> monom4 = new Monom <Matrix>(A);

            Polynom <Matrix> polynom1 = new Polynom <Matrix>(new MatrixCalculate())
            {
                monom1, monom2
            };
            Polynom <Matrix> polynom2 = new Polynom <Matrix>(new MatrixCalculate())
            {
                monom1, monom3, monom4
            };

            foreach (var i in polynom1)
            {
                Console.WriteLine(i);
            }

            //Console.WriteLine(polynom1);
            //Console.WriteLine(polynom2);

            //Console.WriteLine(polynom1 / polynom2);

            //Console.WriteLine(polynom1 + polynom2);

            Console.ReadKey();
        }