static void Main(string[] args) { //Cоздание списка ненулевых элементов по массиву arr var arr1 = new int[] { 2, 5, 3, 4, 8, 0 }; var vec1 = new VectorCode(arr1); Console.WriteLine(vec1); Console.WriteLine(); var arr2 = new int[] { 4, 0, 3, 0, 4, 9 }; var vec2 = new VectorCode(arr2); Console.WriteLine(vec2); Console.WriteLine(); //Возвратить исходный массив, содержащий нулевые элементы var arr = vec1.Decode(); string arrStr = string.Join(", ", arr); Console.WriteLine($"{{ {arrStr} }}"); Console.WriteLine(); //Dставка ненулевого элемента k в некоторую позицию pos vec1.Insert(2, 1); Console.WriteLine(vec1); Console.WriteLine(); //Удаление эл-та из списка vec1.Delete(1); Console.WriteLine(vec1); Console.WriteLine(); //Нахождение скалярного произведения векторов var scalar = vec1.ScalarProduct(vec2); Console.WriteLine(scalar); Console.WriteLine(); //Нахождение суммы векторов var sum = vec1.Sum(vec2); Console.WriteLine(sum); Console.WriteLine(); //Построить новый вектор, i-я компонента которого является суммой //последних i компонент исходного вектора var vecSum = vec1.VectorSum(); Console.WriteLine(vecSum); Console.WriteLine(); //Умножение всех элементов, равных а на константу с vec2.Mult(4, 2); Console.WriteLine(vec2); }
public VectorCode Sum(VectorCode v) { if (Length != v.Length)//Вектора должны быть одного порядка { throw new Exception("The lengths of the vectors are different"); } var v1 = Decode(); var v2 = v.Decode(); for (int i = 0; i < Length; i++) { v1[i] += v2[i]; } return(new VectorCode(v1)); }
public int ScalarProduct(VectorCode v) { if (Length != v.Length)//Вектора должны быть одного порядка { throw new Exception("The lengths of the vectors are different"); } int result = 0; var v1 = Decode(); var v2 = v.Decode(); for (int i = 0; i < v1.Length; i++) { result = result + v1[i] * v2[i]; } return(result); }