// 2 пункт меню: Самые большие вектора public static void Action2(IVector[] arr, int size) { // searching max IVector maxVector = arr[0]; for (int i = 0; i < size; i++) { if (arr[i].CompareTo(maxVector) > 0) { maxVector = arr[i]; } } // create form for answer FormMenuItem1 f = new FormMenuItem1(); f.Answer = "Выполняется 2 пункт меню\nСамые большие векторы:\n"; for (int i = 0; i < size; i++) { if (arr[i].CompareTo(maxVector) == 0) { f.Answer += arr[i].ToString() + "\n"; } } f.ShowDialog(); f.Dispose(); }
// 5 пункт меню: Клонирование вектора public static void Action5(IVector[] arr, int size) { FormChooseVector f1 = new FormChooseVector(); f1.SetLabelVectors = "Выполняется пункт меню 5\nВыберете вектор для клонирования:\n"; f1.Count = size; // count need to choose correct index for (int i = 0; i < size; i++) { f1.SetLabelVectors += arr[i].ToString() + "\n"; } f1.ShowDialog(); int j = f1.Index; // index of vector that should be clonned f1.Dispose(); FormMenuItem1 f2 = new FormMenuItem1(); IVector clone = (IVector)arr[j].Clone(); // clone vector arr[j] for (int i = 0; i < clone.Length; i++) { clone[i] = 5; } f2.Answer = "Заменили в клоне все элементы на значение: 5 \n" + clone.ToString() + "\n" + "Исходный вектор не изменился: \n" + arr[j].ToString(); f2.ShowDialog(); f2.Dispose(); }
// 4 пункт меню: Сортировка по кол-ву координат public static void Action4(IVector[] arr, int size) { FormMenuItem1 f = new FormMenuItem1(); f.Answer = "Выполняется 4 пункт меню\nВекторы сортированы по кол-ву координат:\n"; Array.Sort(arr, 0, size); for (int i = 0; i < size; i++) { f.Answer += arr[i].ToString() + "\n"; } f.ShowDialog(); f.Dispose(); }
// 3 пункт меню: Сортировка по возрастанию модулей public static void Action3(IVector[] arr, int size) { FormMenuItem1 f = new FormMenuItem1(); f.Answer = "Выполняется 3 пункт меню\nВекторы сортированы по возрастанию модулей:\n"; Array.Sort(arr, 0, size, new LinkedListVector.SortByNorm()); for (int i = 0; i < size; i++) { f.Answer += arr[i].ToString() + "\n"; } f.ShowDialog(); f.Dispose(); }