/// <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--; } }
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; }
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("Первый полином еще не создан!"); } }
/// <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++; } } }