public string Substract_Two_Polynomials()
 {
     Polynomial.Polynomial first  = new Polynomial.Polynomial(2, 0, 2);
     Polynomial.Polynomial second = new Polynomial.Polynomial(1, 2, 1, 1);
     Polynomial.Polynomial result = first - second;
     return(result.ToString());
 }
 public string Multiply_Two_Polynomials()
 {
     Polynomial.Polynomial first  = new Polynomial.Polynomial(2, 2);
     Polynomial.Polynomial second = new Polynomial.Polynomial(-2, 2);
     Polynomial.Polynomial result = first * second;
     return(result.ToString());
 }
 public string Add_Two_Polynomials()
 {
     Polynomial.Polynomial first  = new Polynomial.Polynomial(2, 0, 2);
     Polynomial.Polynomial second = new Polynomial.Polynomial(1, 2, 1, 1);
     Polynomial.Polynomial result = Polynomial.Polynomial.Add(first, second);
     return(result.ToString());
 }
        public void PolynomialToStringTest()
        {
            List <double> list = new List <double> {
                1, 2, 3
            };                                                //3*x^2+2*x+1
            var pol      = new Polynomial.Polynomial(list);
            var expected = "3 * (x^2) + 2 * x + 1";

            Assert.IsTrue(pol.ToString().Equals(expected));
        }
 public string ToString_ReturnStringWithYield()
 {
     Polynomial pol = new Polynomial(1, 2, 3);
     return pol.ToString();
 }
 public string ToStringTest(int[] a)
 {
     Polynomial p = new Polynomial(a);
     return (p.ToString());
 }
 public string PolynomialToStringTest(double[] array)
 {
     Polynomial.Polynomial p = new Polynomial.Polynomial(array);
     return(p.ToString());
 }
Exemple #8
0
        public static void Main()
        {
            Console.WriteLine("введите степень первого многочлена");
            var order = Convert.ToInt32(Console.ReadLine());
            var coefficentsFirstPolynomial = InputCoefficients(order);

            Console.WriteLine("введите степень второго многочлена");
            order = Convert.ToInt32(Console.ReadLine());
            var coefficentsSecondPolynomial = InputCoefficients(order);
            var polynomialNamberOne         = new Polynomial(coefficentsFirstPolynomial);
            var polynomialNamberTwo         = new Polynomial(coefficentsSecondPolynomial);

            Console.WriteLine(polynomialNamberOne.ToString());
            Console.WriteLine($"степень первого многочлена = {polynomialNamberOne.Degree}");
            Console.WriteLine(polynomialNamberTwo.ToString());
            Console.WriteLine($"степень второго многочлена = {polynomialNamberTwo.Degree}");

            Console.WriteLine("получение коеффицента при i-ой степени");
            Console.WriteLine("введите степень i");
            var degreeCoefficient = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine(
                polynomialNamberOne.GetCoefficient(degreeCoefficient) != null
                    ? $"коэффицент при {degreeCoefficient}-й степени первого многочлена равен {polynomialNamberOne.GetCoefficient(degreeCoefficient)}"
                    : "такого коэффицента не существует у первого многочлена");
            Console.WriteLine(
                polynomialNamberTwo.GetCoefficient(degreeCoefficient) != null
                    ? $"коэффицент при {degreeCoefficient}-й степени второго многочлена равен {polynomialNamberTwo.GetCoefficient(degreeCoefficient)}"
                    : "такого коэффицента не существует у второго многочлена");

            Console.Write("сумма многочленов :");
            Console.WriteLine((polynomialNamberOne + polynomialNamberTwo).ToString());

            Console.Write("разность многочленов :");
            Console.WriteLine((polynomialNamberOne + (-polynomialNamberTwo)).ToString());

            Console.Write("перемножение многочленов :");
            Console.WriteLine((polynomialNamberOne * polynomialNamberTwo).ToString());

            Console.WriteLine("унарный минус для первого многочлена");
            var polynomialUnaryMinus = -polynomialNamberOne;

            Console.WriteLine("-(" + polynomialUnaryMinus + ")");
            Console.WriteLine("унарный минус для второго многочлена");
            polynomialUnaryMinus = -polynomialNamberTwo;
            Console.WriteLine("-(" + polynomialUnaryMinus + ")");

            Console.WriteLine(
                polynomialNamberOne.Compare(polynomialNamberTwo)
                    ? "многочлены равны"
                    : "многочлены не равны");

            Console.WriteLine("введите значение переменной х для обоих многочленов");
            var variableX = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine(
                $"значение первого многочлена при х = {variableX} равно {polynomialNamberOne.Calculate(variableX)}");
            Console.WriteLine(
                $"значение второго многочлена при х = {variableX} равно {polynomialNamberTwo.Calculate(variableX)}");

            Console.WriteLine("вычисление значений многочлена могих переменных");
            Console.WriteLine("введите количество переменных");
            var numberVariables  = Convert.ToInt32(Console.ReadLine());
            var values           = InputValues(numberVariables);
            var valuesPolynomial = polynomialNamberOne.CalculatePolynomialSeveralVariables(values);
            var iteration        = 1;

            OutputSetValuesPolynomial(values, valuesPolynomial, iteration);
            iteration++;
            valuesPolynomial = polynomialNamberTwo.CalculatePolynomialSeveralVariables(values);
            OutputSetValuesPolynomial(values, valuesPolynomial, iteration);

            Console.WriteLine("Нахождение корней на интервале");
            Console.WriteLine("введите левую границу интервала");
            var leftBorder = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("введите правую границу интервала");
            var rightBorder = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("введите точность");
            var epsilon         = Convert.ToDouble(Console.ReadLine());
            var rootsPolynomial = polynomialNamberOne.FindRoot(leftBorder, rightBorder, epsilon);

            Console.WriteLine(
                rootsPolynomial != null
                    ? $"корень первого многочлена равен {rootsPolynomial}"
                    : "у первого многочлена нет корней на данном интервале");
            rootsPolynomial = polynomialNamberTwo.FindRoot(leftBorder, rightBorder, epsilon);
            Console.WriteLine(
                rootsPolynomial != null
                    ? $"корень второго многочлена равен {rootsPolynomial}"
                    : "у второго многочлена нет корней на данном интервале");
        }
 public string Substract_Polynomial_With_Number(double number)
 {
     Polynomial.Polynomial first  = new Polynomial.Polynomial(2, 0, 2);
     Polynomial.Polynomial result = Polynomial.Polynomial.Add(first, number);
     return(result.ToString());
 }
 public string Multiply_Polynomial_With_Number(double number)
 {
     Polynomial.Polynomial first  = new Polynomial.Polynomial(2, 0, 2);
     Polynomial.Polynomial result = Polynomial.Polynomial.Multiply(first, number);
     return(result.ToString());
 }
 public string Polynomials_ToString(params double[] array)
 {
     Polynomial.Polynomial polynomial = new Polynomial.Polynomial(array);
     return(polynomial.ToString());
 }