public static void Output(StreamWriter output, Polinom ThirdPolinom) { for (int i = 0; i < ThirdPolinom.Count; i++) { output.WriteLine(ThirdPolinom.polinom[i].exponent + " " + ThirdPolinom.polinom[i].coefficient); } }
public void Add(Element element) { if (!(element.coefficient == 0)) { int pos = -1; for (int i = 0; i < Count; i++) { if (element.exponent == polinom[i].exponent) { pos = i; } } if (pos != -1) { polinom[pos].coefficient += element.coefficient; } else { Polinom helper = new Polinom(this); this.polinom = new Element[Count + 1]; for (int i = 0; i < Count; i++) { this.polinom[i] = helper.polinom[i]; } this.polinom[Count] = element; Count++; } } }
public static void Main(string[] args) { string path1 = @"C:\PracticeFiles\Input1.txt"; string path2 = @"C:\PracticeFiles\Input2.txt"; if (FileExistance(path1) && FileExistance(path2)) { if (FileNothingcheck(path1, path2)) { if (FileCheckRightInput(path1, path2)) { if (FileCheckElements(path1, path2)) { Polinom FirstPolinom = new Polinom(); Polinom SecondPolinom = new Polinom(); FirstPolinom = PolinomInput(FirstPolinom, path1); SecondPolinom = PolinomInput(SecondPolinom, path2); if (PolinomNothingCheck(FirstPolinom, SecondPolinom)) { Polinom ThirdPolinom = new Polinom(); ThirdPolinom = Multiplication(FirstPolinom, SecondPolinom, ThirdPolinom); StreamWriter output = new StreamWriter(@"C:\PracticeFiles\output.txt"); ThirdPolinom.Sorting(); Output(output, ThirdPolinom); output.Close(); Console.WriteLine("Программа завершила работу"); Console.WriteLine("Проверьте файлы в деректории"); } else { Console.WriteLine("Умножение не имеет смысла, так как один из полиномов равен нулю"); } } else { Console.WriteLine("Какой-то из элементов в файле не соответствует необходимому типу данных."); Console.WriteLine("Проверте входные данные в файлах"); } } else { Console.WriteLine("В каком-то из файлов не правильно записаны вхоные данные."); Console.WriteLine("Возможно в какой-то из строк в файлах больше или меньше 2 элементов."); Console.WriteLine("Проверьте файлы"); } } else { Console.WriteLine("возможжно какой-то из файлов пустой"); Console.WriteLine("Проверьте содержимое файлов"); } } else { Console.WriteLine("Возможно кокого-то из файов не существует."); Console.WriteLine("Проверьте существование файлов"); } }
public static Polinom Multiplication(Polinom FirstPolinom, Polinom SecondPolinom, Polinom ThirdPolinom) { for (int i = 0; i < FirstPolinom.Count; i++) { for (int j = 0; j < SecondPolinom.Count; j++) { Element element = new Element(FirstPolinom.polinom[i].exponent + SecondPolinom.polinom[j].exponent, FirstPolinom.polinom[i].coefficient * SecondPolinom.polinom[j].coefficient); ThirdPolinom.Add(element); } } return(ThirdPolinom); }
public static Polinom PolinomInput(Polinom polinom1, string path) { string[] data1 = File.ReadAllLines(path); int help1; double help2; for (int i = 0; i < data1.Length; i++) { string[] helper = data1[i].Split(' '); if (int.TryParse(helper[0], out help1) && double.TryParse(helper[1], out help2)) { Element element = new Element(help1, help2); polinom1.Add(element); } } return(polinom1); }
public static bool PolinomNothingCheck(Polinom FirstPolinom, Polinom SecondPolinom) { return(FirstPolinom.Count != 0 && SecondPolinom.Count != 0); }
public Polinom(Polinom p) { polinom = p.polinom; Count = p.Count; }