Esempio n. 1
0
        public static void Main(String[] args)
        {
            MyPolynomial first  = new MyPolynomial(new double[] { 2, 0, 0, 1 });
            MyPolynomial second = new MyPolynomial(new double[] { 2, 1, 6 });

            Console.WriteLine(first);
            Console.WriteLine(second);
            Console.WriteLine(first.Add(second));
            //Console.WriteLine(second.Add(first));
            //Console.WriteLine(first.Multiply(second));
            //Console.WriteLine(second.Multiply(first));
            //Console.WriteLine(first.Evaluate(2));
            //Console.WriteLine(second.Evaluate(2));
        }
        public MyPolynomial Multiply(MyPolynomial input)
        {
            double[] product = new double[_coeffs.Length + input._coeffs.Length - 1];

            for (int i = 0; i < _coeffs.Length; i++)
            {
                for (int j = 0; j < input._coeffs.Length; j++)
                {
                    product[i + j] += _coeffs[i] * input._coeffs[j];
                }
            }

            return(new MyPolynomial(product));
        }
Esempio n. 3
0
        public MyPolynomial Multiply(MyPolynomial another)
        {
            int a     = GetDegree();
            int b     = another.GetDegree();
            int value = ((a + 1) * (b + 1)) + 1;

            double[] NewPolynomial = new double[value];

            for (int i = 0; i < a + 1; i++)
            {
                for (int j = 0; j < b + 1; j++)
                {
                    NewPolynomial[i + j] += _coeffs[i] * another._coeffs[j];
                }
            }

            MyPolynomial MultiplyPolynomial = new MyPolynomial(NewPolynomial);

            return(MultiplyPolynomial);
        }
        public MyPolynomial Add(MyPolynomial input)
        {
            int min = Math.Min(degree, input.degree) + 1;

            MyPolynomial bigger = degree > input.degree ? this : input;

            double[] sum = new double[bigger.degree + 1];

            for (int i = 0; i < min; i++)
            {
                sum[i] = _coeffs[i] + input._coeffs[i];
            }

            for (int i = min; i < bigger.degree + 1; i++)
            {
                sum[i] = bigger._coeffs[i];
            }

            return(new MyPolynomial(sum));
        }
Esempio n. 5
0
        public MyPolynomial Add(MyPolynomial another)
        {
            int a = GetDegree();
            int b = another.GetDegree();
            int value;

            if (a <= b)
            {
                value = b + 1;
            }
            else
            {
                value = a + 1;
            }

            double[] NewPolynomial = new double[value];

            int i;

            for (i = 0; i < a + 1 && i < b + 1; i++)
            {
                NewPolynomial[i] = _coeffs[i] + another._coeffs[i];
            }

            for (; i < a + 1; i++)
            {
                NewPolynomial[i] = _coeffs[i];
            }

            for (; i < b + 1; i++)
            {
                NewPolynomial[i] = another._coeffs[i];
            }

            MyPolynomial SumPolynomial = new MyPolynomial(NewPolynomial);

            return(SumPolynomial);
        }