public static Vector Sum(Vector vector1, Vector vector2) { if (vector1.Length != vector2.Length) { throw new FormatException("Векторы имеют разную длину"); } ArrayVector newVector = new ArrayVector(vector1.Length); for (int i = 0; i < vector1.Length; i++) { newVector[i] = (vector1[i] + vector2[i]); } return((Vector)newVector); }
public static float Scalar(ArrayVector vector1, ArrayVector vector2) { float scalar = 0; if (vector1.Length != vector2.Length) { throw new FormatException("Векторы имеют разную длину"); } for (int i = 0; i < vector1.Length; i++) { scalar = scalar + vector1[i] * vector2[i]; } return(scalar); }
public static double Scalar(ArrayVector vector1, ArrayVector vector2) { int scalar = 0; if (vector1.VectorLen != vector2.VectorLen) { throw new Exception(); } for (int i = 0; i < vector1.VectorLen; i++) { scalar = scalar + vector1.GetElement(i) * vector2.GetElement(i); } return(scalar); }
public static ArrayVector Sum(ArrayVector vector1, ArrayVector vector2) { ArrayVector newVector; int length = vector1.VectorLen; if (length > vector2.VectorLen) { newVector = new ArrayVector(vector1); length = vector2.VectorLen; } else { newVector = new ArrayVector(vector2); } for (int i = 0; i < length; i++) { newVector.SetElement(vector1.GetElement(i) + vector2.GetElement(i), i); } return(newVector); }
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); } } }
static void Main(string[] args) { Console.WriteLine("Программа предназначена для работы с векторами"); Console.Write("Кол-во координат вектора: "); int CoordNum = Convert.ToInt16(Console.ReadLine()); ArrayVector vector = new ArrayVector(CoordNum); int value; Console.WriteLine("\nВвод значений координат вектора"); for (int i = 0; i < vector.VectorLen; i++) { Console.Write("Координата №" + i + ": "); value = Convert.ToInt16(Console.ReadLine()); vector.SetElement(value, i); } Console.Write("Координаты вектора:"); for (int i = 0; i < vector.VectorLen; i++) { Console.Write(vector.GetElement(i) + " "); } Console.WriteLine("\nМодуль вектора: " + vector.GetNorm()); try { Console.WriteLine("Сумма положительных элементов с четными номерами: " + vector.SumPositivesFromChetIndex()); } catch { Console.WriteLine("В векторе не найдены положительные элементы с четными номерами"); } try { Console.WriteLine("Сумма элементов с четными номерами, меньших среднего значения модуля суммы: " + vector.SumLessFromNechetIndex()); } catch { Console.WriteLine("В векторе не найдены элементы с четными номерами, меньших среднего значения модуля суммы"); } try { Console.WriteLine("Произведение четных положительных элементов: " + vector.MulChet()); } catch { Console.WriteLine("В векторе не найдено четных положительных элементов"); } try { Console.WriteLine("Произведение нечетных элементов, не делящихся на 3: " + vector.MulNechet()); } catch { Console.WriteLine("В векторе не найдено нечетных элементов, не делящихся на 3"); } Console.Write("Элементы, отсортированные по возрастанию:"); vector.SortUp(0, vector.VectorLen - 1); for (int i = 0; i < vector.VectorLen; i++) { Console.Write(vector.GetElement(i) + " "); } Console.Write("\nЭлементы, отсортированные по убыванию:"); vector.SortDown(0, vector.VectorLen - 1); for (int i = 0; i < vector.VectorLen; i++) { Console.Write(vector.GetElement(i) + " "); } Console.ReadLine(); }