public static double GetNorm(ArrayVector vector) { double norm = 0; for (int i = 0; i < vector.VectorLen; i++) { norm = norm + vector.GetElement(i) * vector.GetElement(i); } norm = Math.Sqrt(norm); return(norm); }
public ArrayVector(ArrayVector vector) { coord = new int[vector.VectorLen]; for (int i = 0; i < vector.VectorLen; i++) { coord[i] = vector.GetElement(i); } }
public static ArrayVector NumberMul(ArrayVector vector, int number) { ArrayVector newVector = new ArrayVector(vector.VectorLen); for (int i = 0; i < vector.VectorLen; i++) { newVector.SetElement(vector.GetElement(i) * number, i); } return(newVector); }
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("Программа предназначена для работы с векторами"); 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(); }