// Интегрирование полинома public Polinom Integral() { Polinom integral = new Polinom(); for (int i = 0; i < list.Count; i++) { integral.Add(Integral(list[i])); } return(integral); }
// Диффференцирование полинома public Polinom Differential() { Polinom differential = new Polinom(); for (int i = 0; i < list.Count; i++) { differential.Add(Differential(list[i])); } return(differential); }
public static Polinom operator *(Polinom p1, double digit) { Polinom npolinom = new Polinom(); for (int i = 0; i < p1.list.Count; i++) { npolinom.Add(p1.list[i].kf * digit, p1.list[i].power); } return(npolinom); }
public static Polinom operator +(Polinom p1, Polinom p2) { //выбираем полином наибольшей и наименьшей степени Polinom maxPowerPoly = p1.list.Count <= p2.list.Count ? p2 : p1; Polinom minPowerPoly = p1.list.Count < p2.list.Count ? p1 : p2; //создаем массив для предварительного результата Polinom Result = new Polinom(); Result.list = new List <Element>(maxPowerPoly.list.Count); //складываем члены начиная с нулевой до максимальной степени для полинома меньшей степени for (int i = 0; i < minPowerPoly.list.Count; i++) { Result.Add(SumElement(minPowerPoly.list[i], maxPowerPoly.list[i])); } //дописываем старшие члены от полинома большей степени for (int i = minPowerPoly.list.Count; i < maxPowerPoly.list.Count; i++) { Result.Add(maxPowerPoly.list[i]); } return(Result); }