static void Main(string[] args)
        {
            // Среднее арифметическое матрицы для сравнения
            double oldW = 0;
            ushort mneg;

            // Чистим чтобы старое не мешалось :)
            Console.Clear();

            // Создаём прямоугольную матрицу, в конструктор передаём размер матрицы
            MatrixEx me = new MatrixEx(Constants.MATRIX_ROWS, Constants.MATRIX_COLS);
            // Выводим таблицу, метод Print описан в классе базовой матрицы и унаследован
            me.Print();
            // Выводим среднее арифметическое изначально сгенерированной матрицы
            oldW = me.CalcW();
            System.Console.WriteLine(String.Format("Sredneye arifmet: {0,6:0.####}", oldW));

            // Определяем столбец в котором максимальное количество отрицательных элементов
            mneg = me.WhichIsMaxNegative();
            System.Console.WriteLine(String.Format("V {0} stolbce bolshe vsego otricatelnyh elementov", mneg + 1));

            me.AbsoluteAfter(mneg);
            me.Print();

            // Отвечаем на вопрос о том, как изменилось среднее арифметическое
            double newW = me.CalcW();
            if(newW == oldW)
                System.Console.WriteLine(String.Format("Srednee arifmeticheskoe ne izmenilos': {0,6:0.####}", newW));
            if(newW < oldW)
                System.Console.WriteLine(String.Format("Srednee arifmeticheskoe umenshilos': {0,6:0.####}", newW));
            if(newW > oldW)
                System.Console.WriteLine(String.Format("Srednee arifmeticheskoe vozroslo: {0,6:0.####}", newW));

            Console.ReadKey(); // Ждём выброс и валим нахер!
        }