public void Subtract(Vector secondVector) { int maxDimension = Math.Max(GetSize(), secondVector.GetSize()); Array.Resize(ref components, maxDimension); for (int i = 0; i < secondVector.GetSize(); i++) { components[i] -= secondVector.components[i]; } }
public Vector Subtract(Vector vector) { Array.Resize(ref coordinates, Math.Max(GetSize(), vector.GetSize())); for (int i = 0; i < vector.GetSize(); i++) { coordinates[i] -= vector.coordinates[i]; } return(this); }
public void Substract(Vector vector) { if (components.Length < vector.GetSize()) { Array.Resize(ref components, vector.GetSize()); } for (int i = 0; i < vector.components.Length; i++) { components[i] -= vector.components[i]; } }
public void Subtraction(Vector vector) { if (GetSize() < vector.GetSize()) { Array.Resize(ref coordinates, vector.GetSize()); } for (int i = 0; i < vector.GetSize(); i++) { coordinates[i] -= vector.coordinates[i]; } }
public override bool Equals(object obj) { if (ReferenceEquals(obj, this)) { return(true); } if (ReferenceEquals(obj, null) || obj.GetType() != GetType()) { return(false); } Vector p = (Vector)obj; if (GetSize() == p.GetSize()) { for (int i = 0; i < GetSize(); i++) { if (components[i] != p.components[i]) { return(false); } } return(true); } return(false); }
public override bool Equals(object o) { if (ReferenceEquals(o, this)) { return(true); } if (ReferenceEquals(o, null) || o.GetType() != GetType()) { return(false); } Vector vector = (Vector)o; if (vector.GetSize() != GetSize()) { return(false); } for (int i = 0; i < GetSize(); i++) { if (components[i] != vector.components[i]) { return(false); } } return(true); }
public override bool Equals(object obj) { if (ReferenceEquals(obj, this)) { return(true); } if (ReferenceEquals(obj, null) || obj.GetType() != GetType()) { return(false); } Vector vector = (Vector)obj; if (GetSize() != vector.GetSize()) { return(false); } for (int i = 0; i < GetSize(); i++) { if (coordinates[i] != vector.coordinates[i]) { return(false); } } return(true); }
private static bool EqualCoordinates(Vector vector1, Vector vector2) { if (vector1.GetSize() != vector2.GetSize()) { return(false); } int n = vector1.GetSize(); for (int i = 0; i < n; i++) { if (vector1.coordinates[i] != vector2.coordinates[i]) { return(false); } } return(true); }
public static double Multiply(Vector vector1, Vector vector2) { double vectorsMultiplication = 0; int n = Math.Min(vector1.GetSize(), vector2.GetSize()); for (int i = 0; i < n; i++) { vectorsMultiplication += vector1.coordinates[i] * vector2.coordinates[i]; } return(vectorsMultiplication); }
public static double ScalarProduct(Vector vector1, Vector vector2) { int min = Math.Min(vector1.GetSize(), vector2.GetSize()); double scalar = 0; for (int i = 0; i < min; i++) { scalar += vector1.coordinates[i] * vector2.coordinates[i]; } return(scalar); }
public static double GetScalarMultiplication(Vector firstVector, Vector secondVector) { int minDimension = Math.Min(firstVector.GetSize(), secondVector.GetSize()); double result = 0; for (int i = 0; i < minDimension; i++) { result += firstVector.components[i] * secondVector.components[i]; } return(result); }
public static double MultiplyVectors(Vector vector1, Vector vector2) { int min = Math.Min(vector1.GetSize(), vector2.GetSize()); double result = 0; for (int i = 0; i < min; i++) { result += vector1.components[i] * vector2.components[i]; } return(result); }
public static double GetScalarMultiplication(Vector vector1, Vector vector2) { int minSize = Math.Min(vector1.GetSize(), vector2.GetSize()); double result = 0.0; for (int i = 0; i < minSize; i++) { result += vector1.components[i] * vector2.components[i]; } return(result); }
public void SubtractVector(Vector vector) { int size1 = GetSize(); int size2 = vector.GetSize(); if (size1 < size2) { Array.Resize(ref components, size2); } for (int i = 0; i < size2; i++) { components[i] -= vector.components[i]; } }
public void AddVector(Vector vector) { var size1 = GetSize(); var size2 = vector.GetSize(); if (size1 < size2) { Array.Resize(ref components, size2); } for (var i = 0; i < size2; i++) { components[i] += vector.components[i]; } }
static void Main(string[] args) { double[] a = { 1, 2, 3, 4, 5 }; Vector q = new Vector(9); Vector v = new Vector(3, a); Vector b = new Vector(a); Vector y = new Vector(v); Console.WriteLine(y.Equals(q)); Console.WriteLine("Вектор v = "); Console.WriteLine(v); Console.WriteLine("Вектор b = "); Console.WriteLine(b); Vector c = Vector.Addition(v, b); Console.WriteLine("Addition(v,b) = "); Console.WriteLine(c); Console.WriteLine("Вектор v = "); Console.WriteLine(v); Console.WriteLine("Вектор b = "); Console.WriteLine(b); Vector d = Vector.Subtraction(q, c); Console.WriteLine(c); Console.WriteLine(d); Console.WriteLine(q); Console.WriteLine(y); Console.WriteLine(b.GetSize()); double scalar = Vector.ScalarProduct(v, b); Console.WriteLine(scalar); Console.WriteLine(v); Console.WriteLine(c); v.Addition(d); Console.WriteLine(v); Console.WriteLine(v.GetSize()); Console.WriteLine(v.GetLength()); Console.WriteLine(v.GetComponentByIndex(3)); v.SetComponentByIndex(3, 12); Console.WriteLine(v); v.Reverse(); Console.WriteLine(v); Console.WriteLine(v.GetHashCode()); }
static void Main() { double[] a = { 1.1, 2.1, 4, 7.5 }; Vector vector1 = new Vector(a); double[] b = { 3, 4, 5, 6, 7 }; Vector vector2 = new Vector(b); double[] c = { 1, 1, 1 }; Vector vector3 = new Vector(c); Console.WriteLine(new Vector(6)); Console.WriteLine(new Vector(vector2)); Console.WriteLine(new Vector(a)); Console.WriteLine(vector1); Console.WriteLine(new Vector(6, b)); Console.WriteLine("Размерность вектора vector2: {0}", vector2.GetSize()); vector1.SetElement(1, 10); Console.WriteLine("Значение вектора на 2 позиции: {0}", vector1.GetElement(1)); vector2.Add(vector1); Console.WriteLine("Суммирование к вектору vector2 вектора vector1: {0}", vector2); vector2.Substract(vector1); Console.WriteLine("Вычитание от вектора vector2 вектора vector1: {0}", vector2); vector2.MultiplyByScalar(3); Console.WriteLine("Умножение вектора vector2 на скаляр: {0}", vector2); vector2.Reverse(); Console.WriteLine("Обращение вектора vector2: {0}", vector2); Console.WriteLine("Длина вектора vector2: {0}", vector2.GetLength()); Console.WriteLine("Сравнение на равенство векторов vector1 и vector2: {0}", vector1.Equals(vector2)); Console.WriteLine("Хэш код вектора vector1: {0}", vector1.GetHashCode()); Console.WriteLine(vector1); Console.WriteLine(vector2); Console.WriteLine("Суммирование вектора vector2 и вектора vector1: {0}", Vector.GetSum(vector1, vector2)); Console.WriteLine("Вычитание вектора vector1 и вектора vector2: {0}", Vector.GetDifference(vector1, vector2)); Console.WriteLine("Умножение вектора vector2 и вектора vector1: {0}", Vector.GetScalarMultiplication(vector1, vector2)); Console.ReadLine(); }
static void Main(string[] args) { double[] arrayOfVectors = { 21, 17, 33, 41, 2, 3, 6, 9 }; int n = 0; for (int i = 0; i < arrayOfVectors.Length; i++) { n++; } Vector vector = new Vector(arrayOfVectors); Vector vector1 = new Vector(vector); Vector vector2 = new Vector(n); Vector vector3 = new Vector(n, arrayOfVectors); Console.WriteLine("Vector size=" + vector1.GetSize()); double[] arrayOfVectors1 = { 21, 17, 33, 41, 2, 3, 6, 9 }; Vector vector4 = new Vector(arrayOfVectors1); Console.WriteLine("Equals=" + vector1.Equals(vector4)); Console.WriteLine("Sum of vectors=" + vector1.GetAddition(vector4)); Console.WriteLine("Difference of vecrotrs=" + vector.GetDifference(vector4)); double scalar = 3; Console.WriteLine("Vector multiplied by scalar=" + vector.GetMultipliedByScalar(scalar)); Console.WriteLine("Vector rotation=" + vector.GetRotation()); Console.WriteLine("Vector length=" + vector.GetLength()); Console.WriteLine(vector.GetComponent(2)); vector.SetComponent(2, 4); Console.WriteLine("Static sum of vectors=" + Vector.GetAdditionVectors(vector1, vector4)); Console.WriteLine("Static difference of vecrotrs=" + Vector.GetDifferenceVectors(vector1, vector4)); Console.WriteLine("Scalar multiplied of vectors=" + Vector.GetVectorMultipliedByAnotherVector(vector1, vector4)); Console.Read(); }
static void Main(string[] args) { double[] arrayVectors = { 21, 17, 33, 41, 2, 3, 6, 9 }; int n = 0; for (int i = 0; i < arrayVectors.Length; i++) { n++; } Vector vector = new Vector(arrayVectors); Vector vector1 = new Vector(vector); Vector vector2 = new Vector(n); Vector vector3 = new Vector(n, arrayVectors); Console.WriteLine("Размер Вектора=" + vector1.GetSize()); double[] arrayVectors1 = { 21, 17, 33, 41, 2, 3, 6, 9 }; Vector vector4 = new Vector(arrayVectors1); Console.WriteLine("Equals=" + vector1.Equals(vector4)); Console.WriteLine("Сумма векторов=" + vector1.GetAddition(vector4)); Console.WriteLine("Разница векторов=" + vector.GetDifference(vector4)); double scalar = 3; Console.WriteLine("Скалярное умножение векторов=" + vector.GetMultipliedByScalar(scalar)); Console.WriteLine("Разворот векторов=" + vector.GetRotation()); Console.WriteLine("Длинна векторов=" + vector.GetLength()); Console.WriteLine(vector.GetComponent(2)); vector.SetComponent(2, 4); Console.WriteLine("Статическая сумма векторов=" + Vector.GetAdditionVectors(vector1, vector4)); Console.WriteLine("Статическая разница векторов=" + Vector.GetDifferenceVectors(vector1, vector4)); Console.WriteLine("Скалярное статическое умножение векторов=" + Vector.GetVectorMultipliedByAnotherVector(vector1, vector4)); Console.Read(); }
static void Main(string[] args) { Vector vector1 = new Vector(3); Console.WriteLine("Zero vector: " + vector1); double[] coordinates = { 1, 3, 4, 6.5, 3, 9 }; vector1 = new Vector(coordinates); Console.WriteLine("vector1: " + vector1); Console.WriteLine($"Dimension = {vector1.GetSize()}"); Console.WriteLine($"Length = {vector1.GetLength()}"); Vector vector2 = new Vector(vector1); Console.WriteLine("vector2: " + vector2); if (vector1.Equals(vector2)) { Console.WriteLine("Vectors are the same."); } else { Console.WriteLine("Vectors are not the same."); } vector2.Revert(); Console.WriteLine("Reverse vector2: " + vector2); vector2.MultiplyByScalar(3); Console.WriteLine("Vector2 * 3: " + vector2); Console.WriteLine($"Vector2[3] = {vector2.GetCoordinate(3)}"); if (vector1.Equals(vector2)) { Console.WriteLine("Vectors are the same."); } else { Console.WriteLine("Vectors are not the same."); } Console.WriteLine($"Vector1*Vector2 = {Vector.Multiply(vector1, vector2)}"); Console.WriteLine(); Console.WriteLine("Check static and dynamic. Second vector is longer."); vector1.MultiplyByScalar(2); Console.WriteLine("vector1: " + vector1); vector2 = new Vector(vector1.GetSize() + 2, coordinates); Console.WriteLine("vector2: " + vector2); Console.WriteLine($"Set {vector1.GetSize() + 1}-th coordinate equal to 10."); vector2.SetCoordinate(vector1.GetSize() + 1, 10); Console.WriteLine("vector2: " + vector2); Vector vector3 = new Vector(vector2); vector2.Add(vector1); Console.WriteLine("Dynamic: vector1 + vector2 = " + vector2); Console.WriteLine("Static: vector1 + vector2 = " + Vector.GetSum(vector3, vector1)); vector2.MultiplyByScalar(2); vector3 = new Vector(vector2); Console.WriteLine("vector2: " + vector2); Console.WriteLine("vector1: " + vector1); vector2.Subtract(vector1); Console.WriteLine("Dynamic: vector2 - vector1 = " + vector2); Console.WriteLine("Static: vector2 - vector1 = " + Vector.GetDifference(vector3, vector1)); Console.WriteLine(); Console.WriteLine("Check static and dynamic. Second vector is shorter."); Console.WriteLine("vector1: " + vector1); vector2 = new Vector(vector1.GetSize() - 1, coordinates); vector2.MultiplyByScalar(3); Console.WriteLine("vector2: " + vector2); vector3 = new Vector(vector2); vector3.Add(vector1); Console.WriteLine("Dynamic: vector1 + vector2 = " + vector3); Console.WriteLine("Static: vector1 + vector2 = " + Vector.GetSum(vector2, vector1)); vector2.MultiplyByScalar(2); vector3 = new Vector(vector2); Console.WriteLine("vector2: " + vector2); Console.WriteLine("vector1: " + vector1); vector2.Subtract(vector1); Console.WriteLine("Dynamic: vector2 - vector1 = " + vector2); Console.WriteLine("Static: vector2 - vector1 = " + Vector.GetDifference(vector3, vector1)); Console.ReadKey(); }
public Vector(Vector vector) { components = new double[vector.GetSize()]; Array.Copy(vector.components, components, components.Length); }
public Vector(Vector vector) { coordinates = new double[vector.GetSize()]; vector.coordinates.CopyTo(coordinates, 0); }
static void Main(string[] args) { Vector zerowVector = new Vector(3); Console.WriteLine("zerowVector = " + zerowVector); Console.WriteLine(new string('-', 100)); double[] array = { 3, 3.75, 2, 44, -5, 54 }; Vector arrayVector = new Vector(array); Vector copyArrayVector = new Vector(arrayVector); Console.WriteLine("arrayVector = " + arrayVector); Console.WriteLine("copyArrayVector = " + copyArrayVector); Console.WriteLine(new string('-', 100)); Vector partialArrayVector = new Vector(8, array); Console.WriteLine("partialTestVector = " + partialArrayVector); Console.WriteLine("Размерность partialTesVector = " + partialArrayVector.GetSize()); Console.WriteLine(new string('-', 100)); Vector firstVector = new Vector(new double[] { 3, 3, 4, 4 }); Vector secondVector = new Vector(new double[] { 1, 3, 7, 8, 8, 8, 4 }); Console.WriteLine("Сумма векторов {0} и {1} равна:", firstVector, secondVector); firstVector.Sum(secondVector); Console.WriteLine(firstVector); Console.WriteLine(new string('-', 100)); Console.WriteLine("Разность векторов {0} и {1} равна:", firstVector, secondVector); firstVector.Subtract(secondVector); Console.WriteLine(firstVector); Console.WriteLine(new string('-', 100)); double scalar = 3; Console.WriteLine("Результат умножения вектора {0} на скаляр {1}: ", firstVector, scalar); firstVector.MultiplicationByNumber(scalar); Console.WriteLine(firstVector); Console.WriteLine(new string('-', 100)); Console.WriteLine("Вектор обратный вектору {0}:", firstVector); firstVector.Turn(); Console.WriteLine(firstVector); Console.WriteLine(new string('-', 100)); Console.WriteLine("Длина вектора {0} : {1:f2}", firstVector, firstVector.GetLength()); int componentIndex = 3; Console.WriteLine("Компонента вектора {0} по индексу {1} : {2}", firstVector, componentIndex, firstVector.GetComponent(componentIndex)); double newComponent = 55.6; firstVector.SetComponent(componentIndex, newComponent); Console.WriteLine("Компонента вектора {0} по индексу {1} : {2}", firstVector, componentIndex, firstVector.GetComponent(componentIndex)); Console.WriteLine(new string('-', 100)); if (firstVector.Equals(secondVector)) { Console.WriteLine("Вектор {0} равен вектору {1}", firstVector, secondVector); } else { Console.WriteLine("Вектор {0} не равен вектору {1}", firstVector, secondVector); } Console.WriteLine("hashCode вектора {0}: {1}", firstVector, firstVector.GetHashCode()); Console.WriteLine("hashCode вектора {0}: {1}", secondVector, secondVector.GetHashCode()); Console.WriteLine(new string('-', 100)); Console.WriteLine("Сумма векторов {0} и {1} равна: {2}", firstVector, secondVector, Vector.GetSum(firstVector, secondVector)); Console.WriteLine("Разность векторов {0} и {1} равна: {2}", Vector.GetSum(firstVector, secondVector), firstVector, Vector.GetResidual(Vector.GetSum(firstVector, secondVector), firstVector)); Console.WriteLine("Скалярное произведение векторов {0} и {1}: {2}", firstVector, secondVector, Vector.GetScalarMultiplication(firstVector, secondVector)); }