static void Main(string[] args) { Console.WriteLine("Программа предназначена для работы с векторами"); List <Vector> vectors = new List <Vector>(); bool isExit = false; while (!isExit) { try { Console.WriteLine("1 - добавить ArrayVector"); Console.WriteLine("2 - добавить LinkedListVector"); Console.WriteLine("3 - вывести массив векторов"); Console.WriteLine("4 - выход"); int menu = ReadInt(1, 4); switch (menu) { case 1: { Console.Write("Длина нового вектора: "); int length = ReadInt(1, int.MaxValue); ArrayVector vector = new ArrayVector(length); Console.Write("Координаты вектора (через пробел): "); string[] str = Console.ReadLine().Split(' '); for (int i = 0; i < str.Length; i++) { vector[i] = float.Parse(str[i]); } vectors.Add(vector); } break; case 2: { Console.Write("Длина нового вектора: "); int length = ReadInt(1, int.MaxValue); LinkedListVector vector = new LinkedListVector(length); Console.Write("Координаты вектора (через пробел): "); string[] str = Console.ReadLine().Split(' '); for (int i = 0; i < str.Length; i++) { vector[i] = float.Parse(str[i]); } vectors.Add(vector); } break; case 3: { for (int i = 0; i < vectors.Count; i++) { Console.WriteLine(vectors[i].GetType().ToString().Split('.')[1] + ": " + vectors[i].ToString()); } } break; case 4: { isExit = true; } break; } } catch (Exception e) { Console.WriteLine(e.Message); } } }
static void Main(string[] args) { Console.WriteLine("Программа предназначена для работы с векторами"); bool isExit1 = false; int menu1 = 0; ArrayVector vector1 = null; ArrayVector vector2 = null; LinkedListVector linkedList = null; while (!isExit1) { Console.WriteLine("1 - создать векторы"); Console.WriteLine("2 - создать список"); Console.WriteLine("3 - работа с векторами"); Console.WriteLine("4 - работа со списком"); Console.WriteLine("5 - Выход"); menu1 = ReadInt(1, 5); try { switch (menu1) { case 1: { Console.Write("Длина 1 вектора: "); int len = ReadInt(0, int.MaxValue); vector1 = new ArrayVector(len); Console.Write("Координаты вектора (через пробел): "); string[] str = Console.ReadLine().Split(' '); for (int i = 0; i < str.Length; i++) { vector1[i] = float.Parse(str[i]); } Console.Write("Длина 2 вектора: "); len = ReadInt(0, int.MaxValue); vector2 = new ArrayVector(len); Console.Write("Координаты вектора (через пробел): "); str = Console.ReadLine().Split(' '); for (int i = 0; i < str.Length; i++) { vector2[i] = float.Parse(str[i]); } } break; case 2: { Console.Write("Длина списка: "); int len = ReadInt(0, int.MaxValue); linkedList = new LinkedListVector(len); Console.Write("Координаты вектора (через пробел): "); string[] str = Console.ReadLine().Split(' '); for (int i = 0; i < str.Length; i++) { linkedList[i] = float.Parse(str[i]); } } break; case 3: { if (vector1 == null) { Console.WriteLine("Вектора не созданы"); } else { bool isExit2 = false; int menu2 = 0; while (!isExit2) { Console.WriteLine("1 - сумма векторов"); Console.WriteLine("2 - скалярное произведение векторов"); Console.WriteLine("3 - модули векторов"); Console.WriteLine("4 - выход"); menu2 = ReadInt(1, 4); switch (menu2) { case 1: { ArrayVector tmp = Vectors.Sum(vector1, vector2); for (int i = 0; i < tmp.Length; i++) { Console.Write(tmp[i] + " "); } Console.WriteLine(); } break; case 2: { float tmp = Vectors.Scalar(vector1, vector2); Console.WriteLine(tmp); } break; case 3: { float tmp1 = Vectors.GetNorm(vector1); float tmp2 = Vectors.GetNorm(vector2); Console.WriteLine(tmp1); Console.WriteLine(tmp2); } break; case 4: { isExit2 = true; } break; } } } } break; case 4: { if (linkedList == null) { Console.WriteLine("Список не создан"); } else { bool isExit3 = false; int menu3 = 0; while (!isExit3) { Console.WriteLine("1 - длина вектора"); Console.WriteLine("2 - кол-во элементов вектора"); Console.WriteLine("3 - редактировать элемент вектора"); Console.WriteLine("4 - вывести список"); Console.WriteLine("5 - выход"); menu3 = ReadInt(1, 5); switch (menu3) { case 1: { Console.WriteLine(linkedList.GetNorm()); } break; case 2: { Console.WriteLine(linkedList.Count); } break; case 3: { int index; Console.Write("Индекс элемента: "); index = ReadInt(0, linkedList.Count - 1); Console.Write("Значение: "); linkedList[index] = float.Parse(Console.ReadLine()); } break; case 4: { for (int i = 0; i < linkedList.Count; i++) { Console.Write(linkedList[i] + " "); } Console.WriteLine(); } break; case 5: { isExit3 = true; } break; } } } } break; case 5: { isExit1 = true; } break; } } catch (Exception e) { Console.WriteLine(e.Message); } } }