static void TaskList() { int i = 0; bool[] mas = new bool[l1.Length]; foreach (double elem in l1) { if (elem < 0) { mas[i] = true; } i++; } for (int j = mas.Length - 1; j >= 0; j--) { if (mas[j]) { Point <double> zero = new Point <double>(0); l1.Add(j + 2, zero); } } Console.WriteLine(); l1.ShowList(); Console.WriteLine(); }
static void Main(string[] args) { Random rand = new Random(); int menu = 10; while (menu != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1. Однонаправленный список "); Console.WriteLine("2. Двунаправленный список"); Console.WriteLine("3. Дерево"); Console.WriteLine("4. Стек на базе однонаправленного списка"); Console.WriteLine("0.Выход"); Console.ResetColor(); menu = InputMenu(4); CreateCollection(10); Console.WriteLine("Коллекции созданы"); if (menu == 0) { break; } else { int menuNext = 10; switch (menu) { #region task1 case 1: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекцию"); Console.WriteLine("2.Добавить элементы"); Console.WriteLine("3.Удалить элементы"); Console.WriteLine("4.Поиск"); Console.WriteLine("5.Копия"); Console.WriteLine("6.Поверхностная копия"); Console.WriteLine("7.Удалить коллекцию"); Console.WriteLine("8.Длина"); Console.WriteLine("9.Добавить 0 после отрицательных чисел"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(9); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: l1.ShowList(); break; case 2: AddList(); Console.WriteLine("Элементы добавлены"); break; case 3: DeleteList(); Console.WriteLine("Элементы удалены"); break; case 4: SearchList(); break; case 5: ListOne <double> ll1 = (ListOne <double>)l1.Clone(); ll1.ShowList(); break; case 6: ListOne <double> ll2 = (ListOne <double>)l1.ShallowCopy(); ll2.ShowList(); break; case 7: l1.Delete(); l1.ShowList(); break; case 8: Console.WriteLine($"Количество:{l1.Length }"); break; case 9: TaskList(); break; } } } break; #endregion task1 #region task2 case 2: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекции"); Console.WriteLine("2.Добавить элемент"); Console.WriteLine("3.Удалить элемент"); Console.WriteLine("4.Длина"); Console.WriteLine("5.Удалить четные цифры"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(5); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: Console.WriteLine("коллекция:"); l2.ShowList(); break; case 2: AddListTwo(); Console.WriteLine("Элементы добавлены"); break; case 3: DeleteListTwo(); Console.WriteLine("Элементы удалены"); break; case 4: Console.WriteLine($"Количество:{l2.Length() }"); break; case 5: l2.DeleteEven(); l2.ShowList(); break; } } } break; #endregion task2 #region task3 case 3: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекцию"); Console.WriteLine("2.Добавить элемент"); Console.WriteLine("3.Выполнить клонирование"); Console.WriteLine("4.Дерево поиска"); Console.WriteLine("5.Сколько элементов начинаются с заданного символа"); Console.WriteLine("6.Длина"); Console.WriteLine("7.Найти элемент"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(7); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: tr.Show(); break; case 2: AddTree(); Console.WriteLine("Элемент добавлен"); break; case 3: Tree <string> tr2 = (Tree <string>)tr.ShallowCopy(); tr2.Show(); break; case 4: tr.BuildSearch(); tr.Show(); break; case 5: TaskTree(); break; case 6: Console.WriteLine($"Количество:{tr.Length()}"); Console.WriteLine($"Глубиина:{tr.TreeDeep(tr.Root)}"); break; case 7: TreeSearch(); break; } } } break; #endregion task3 #region task4 case 4: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекцию"); Console.WriteLine("2.Добавить элементы"); Console.WriteLine("3.Удалить элементы"); Console.WriteLine("4.Поиск"); Console.WriteLine("5.Копия"); Console.WriteLine("6.Поверхностная копия"); Console.WriteLine("7.Удалить коллекцию"); Console.WriteLine("8.Длина"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(8); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: stack.Show(); break; case 2: AddStack(); Console.WriteLine("Элементы добавлены"); break; case 3: DeleteStack(); Console.WriteLine("Элементы удалены"); break; case 4: stack.Search(CreateEng()); break; case 5: MyStack <Engine> s2 = (MyStack <Engine>)stack.Clone(); s2.Show(); break; case 6: MyStack <Engine> s3 = stack.ShallowCopy(); s3.Show(); break; case 7: stack.Delete(); stack.Show(); break; case 8: Console.WriteLine($"Количество:{stack.Count() }"); break; } } } break; #endregion task4 } } } //Random rand = new Random(); //ListTwo<int> l = new ListTwo<int>(); //l.MakeList(6); //Console.WriteLine(); //l.ShowList(); //l.Delete(3, 2); //Console.WriteLine(); //l.ShowList(); //l.Add(1, 4); //Console.WriteLine(); //l.ShowList(); //Console.WriteLine(); //l.DeleteEven(); //Console.WriteLine(); //l.ShowList(); //double[] arr = new double[8]; //for(int m=0; m<arr.Length;m++) //{ // arr[m] = (rand.NextDouble() - 0.5) * 100; //} //ListOne<double> l1 = new ListOne<double>(arr); //Console.WriteLine(); //l1.ShowList(); //Console.WriteLine(); //Point<double> p = new Point<double>(-0.5); //l1.Add(7, p); //Console.WriteLine(); //l1.ShowList(); //Console.WriteLine(); //l1.Delete(5, 1); //l1.ShowList(); //int i = 0; //bool[] mas = new bool[l1.Length]; //foreach(double elem in l1) //{ // if(elem<0) // { // mas[i] = true; // } // i++; //} //for(int j= mas.Length-1; j>=0;j--) //{ // if (mas[j]) // { // Point<double> zero = new Point<double>(0); // l1.Add(j+2 , zero); // } //} //Console.WriteLine(); //l1.ShowList(); //Console.WriteLine(); //ListOne<double> ll1 = (ListOne<double>)l1.Clone(); //ll1.ShowList(); //Console.WriteLine(); //ll1.Delete().ShowList(); //Console.WriteLine(); //string[] mas = new string[] { "am", "tt", "yy", "ii", "oo", "aa", "ap", "ac", "ad", "ae", "af", "ag", "ar", "gi", "az" }; //int i; //Tree<string> tr = new Tree<string>(mas); //PointTree<string> p = new PointTree<string>("kk"); //tr.Show(); //Console.WriteLine("___________"); //tr = new Tree<string>(0, mas); //tr.Show(); //Console.WriteLine("___________"); //tr.BuildSearch(); //tr.Show(); //i = 0; //string first = "a"; //foreach (string str in tr) //{ // if (str.Substring(0, 1) == first) i++; //} //Console.WriteLine(i); }