public void Add(Monom <T> monom) { if (polynom.Count == 0) { polynom.Add(monom); return; } for (int i = 0; i < polynom.Count; i++) { if (polynom[i].pow == monom.pow) { T sum = _calculator.Sum(polynom[i].coef, monom.coef); polynom.Remove(polynom[i]); monom.coef = sum; polynom.Insert(i, monom); return; } } for (int i = 0; i < polynom.Count; i++) { if ((polynom[i].pow < monom.pow)) { polynom.Insert(i, monom); return; } } polynom.Add(monom); }
public Monom <decimal> GetRandomMonom() { var monom = new Monom <decimal>(); var rnd = new Random(); monom.coef = rnd.Next() % 10; monom.pow = rnd.Next() % 10; return(monom); }
static void Main() { var A = new Matrix(3); var B = new Matrix(3); Matrix C = null; foreach (var i in A) { Console.WriteLine(i); } Console.WriteLine(A); Console.WriteLine(A.Transposed()); Console.WriteLine(A + C); Monom <Matrix> monom1 = new Monom <Matrix>(B, 4); Monom <Matrix> monom2 = new Monom <Matrix>(A, 5); Monom <Matrix> monom3 = new Monom <Matrix>(B); Monom <Matrix> monom4 = new Monom <Matrix>(A); Polynom <Matrix> polynom1 = new Polynom <Matrix>(new MatrixCalculate()) { monom1, monom2 }; Polynom <Matrix> polynom2 = new Polynom <Matrix>(new MatrixCalculate()) { monom1, monom3, monom4 }; foreach (var i in polynom1) { Console.WriteLine(i); } //Console.WriteLine(polynom1); //Console.WriteLine(polynom2); //Console.WriteLine(polynom1 / polynom2); //Console.WriteLine(polynom1 + polynom2); Console.ReadKey(); }