Пример #1
0
        /// <summary>
        /// Метод позволяет сложить 2 полинома
        /// </summary>
        /// <param name="polinom2">Второй полином</param>
        public void PolinomSlozh(Polinom polinom2)
        {
            Polinom temp;

            if (n < polinom2.n) //обмен полиномами, если второй полином имеет макс. степень больше макс. степени первого полинома
            {
                temp       = new Polinom(this.Coefs, this.Korni);
                this.Coefs = polinom2.Coefs;
                this.Korni = polinom2.Korni;
                this.n     = polinom2.n;
            }
            else
            {
                temp = new Polinom(polinom2.Coefs, polinom2.Korni);
            }
            int zaderhka = n;
            int k        = 0;

            for (int i = 0; i < Coefs.Length; i++)
            {
                if (zaderhka > temp.n)
                { //пропускаем
                }
                else
                {
                    Coefs[i] += temp.Coefs[k];
                    k++;
                }
                zaderhka--;
            }
        }
Пример #2
0
        private void buttonCreatePolinom_Click(object sender, EventArgs e)
        {
            StreamReader file  = new StreamReader(directory1);
            string       coefs = file.ReadToEnd();

            double[] coefficients = inp.StringSplit(coefs);
            bool     korni        = false;

            polinom             = new Polinom(coefficients, korni);
            textBoxResult.Text += "Полином создан!" + "\r\n\r\n";
            create              = true;
        }
Пример #3
0
 private void button1_Click_2(object sender, EventArgs e)
 {
     if (create != false)
     {
         StreamReader file         = new StreamReader(directory2);
         string       coefs        = file.ReadToEnd();
         double[]     coefficients = inp.StringSplit(coefs);
         bool         korni        = false;
         Polinom      polinom2     = new Polinom(coefficients, korni);
         textBoxResult.Text += "Второй полином создан!" + "\r\n\r\n";
         textBoxResult.Text += "Вычитание\r\nПолином №1: " + polinom.ToString() + "\r\nПолином №2: " + polinom2.ToString() + "\r\nРезультат:\r\n";
         polinom.PolinomWych(polinom2);
         textBoxResult.Text += polinom.ToString() + "\r\n\r\n";
     }
     else
     {
         MessageBox.Show("Первый полином еще не создан!");
     }
 }
Пример #4
0
        /// <summary>
        /// Вычитание двух полиномов
        /// </summary>
        /// <param name="polinom2">Второй полином</param>
        public void PolinomWych(Polinom polinom2)
        {
            Polinom temp;

            if (n < polinom2.n) //обмен двух полиномов, если макс. степень второго полинома больше макс. степени первого полинома
            {
                temp       = new Polinom(this.Coefs, this.Korni);
                this.Coefs = polinom2.Coefs;
                this.Korni = polinom2.Korni;
                this.n     = polinom2.n;
                for (int j = 0; j < Coefs.Length; j++)
                {
                    Coefs[j] = Coefs[j] / -1; //минусование элементов
                }
                for (int p = 0; p < temp.Coefs.Length; p++)
                {
                    temp.Coefs[p] = temp.Coefs[p] / -1;
                }
            }
            else
            {
                temp = new Polinom(polinom2.Coefs, polinom2.Korni);
            }
            int zaderhka = n;
            int k        = 0;

            for (int i = 0; i < Coefs.Length; i++)
            {
                if (zaderhka > temp.n)
                {
                    zaderhka--;
                }
                else
                {
                    Coefs[i] -= temp.Coefs[k];
                    k++;
                }
            }
        }