Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }