Beispiel #1
0
        /// <summary>Складывает два массива соответсвующих размерностей 
        /// </summary>
        /// <param name="lftOperand">объект класса IntArray</param>
        /// <param name="rghOperand">объект класса IntArray</param>
        /// <returns>объект класса IntArray</returns>
        public static IntArray operator +(IntArray lftOperand,IntArray rghOperand)
        {
            IntArray Result = null;
            if(lftOperand != null && rghOperand != null)
            {
                if(lftOperand.intArray.GetLength(0) == rghOperand.intArray.GetLength(0))
                {
                    if(lftOperand.intArray.GetLength(1) == rghOperand.intArray.GetLength(1))
                    {
                        int n = lftOperand.intArray.GetLength(0);
                        int m = lftOperand.intArray.GetLength(1);

                        Result = new IntArray(n, m);

                        for(int i = 0; i < n; ++i)
                        {
                            for(int z = 0; z < m; ++z)
                            {
                                Result[i, z] = lftOperand[i, z] + rghOperand[i, z];
                            }
                        }

                        return Result;
                    }
                    else
                    {
                        throw new NullReferenceException();
                    }
                }
                else
                {
                    throw new NullReferenceException();
                }
            }
            else
            {
                throw new NullReferenceException();
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            //ТЕСТИРОВАНИЕ ЧЛЕНОВ КЛАССА:

            //конструктор
            int n = 2;
            int m = 2;
            IntArray array1 = new IntArray(n, m);
            IntArray array2 = new IntArray(n, m);

            //Ввод элементов массива с клавиатуры
            Console.WriteLine("Введите значение массива №1 размерностю " +
            "2*2: ");
            array1.Set();

            //Ввод элементов массива с клавиатуры
            Console.WriteLine("Введите значение массива №2 размерностю " +
            "2*2: ");
            array2.Set();
            Console.WriteLine();

            //Подсчет количества нулевых элементов в массиве
            Console.WriteLine("Количество нулевых элементов в массиве №1: ");
            Console.WriteLine(array1.Zero);
            Console.WriteLine();

            //Установка всех значений главной диагонали массива равными
            //скалеру
            Console.WriteLine("Установка всех значений главной диагонали "+
                "массива равными 0");
            array1.Scalar = 0;
            array1.Show();
            Console.WriteLine();

            //Вычисление суммы элеметов i-того столбца
            Console.WriteLine("Вычисление суммы элеметов 1-го столбца " +
                "массива №1: ");
            Console.WriteLine(array1.Sum(0));
            Console.WriteLine();

            //Инкрементирование значений массива
            Console.WriteLine("Инкрементирование значений массива №1:");
            ++array1;
            array1.Show();
            Console.WriteLine();

            //Применение объекта класса в операторах ветвления
            Console.WriteLine("Применение объекта класса в операторах " +
                "ветвления: ");
            Console.WriteLine("(array1)?количество строк и столбцов в " +
                "массиве равно: количество строк и столбцов в массиве не " +
                "равно =>  ответ:" + Environment.NewLine + "\"{0}\"",
                (array1)?"true":"false");
            Console.WriteLine();

            //Суммирование объектов класса IntArray
            Console.WriteLine("Суммирование объектов класса IntArray");
            Console.WriteLine("array1 + array2");
            Console.WriteLine("Result: ");
            (array1 + array2).Show();
            Console.WriteLine();

            //Преобразование класса IntArray в двумерный массив
            Console.WriteLine("Преобразование класса IntArray в двумерный " +
                "массив");
            int[,] array3 = (int[,])array1;
            for (int i = 0; i < array3.GetLength(0); ++i)
            {
                for (int z = 0; z < array3.GetLength(1); ++z)
                {
                    Console.Write("{0} ", array3[i,z]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();

            //Преобразование двумерного массива в класс IntArray
            Console.WriteLine("Преобразование двумерного массива в класс " +
                "IntArray");
            int[,] array4 = {{9,8},{7,6}};
            ((IntArray)array4).Show();
            Console.WriteLine();
        }