static void Main(string[] args)
        {
            // Заданные по условию задачи величины (менять в коде, либо дописывать чтение ввода пользователя)
            double excParam1 = Constants.PARAM1;

            double[] sums;

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

            // Создаём прямоугольную матрицу
            MatrixEx me = new MatrixEx(Constants.MATRIX_ROWS, Constants.MATRIX_COLS);
            // Выводим таблицу, метод Print описан в классе базовой матрицы и унаследован
            me.Print();

            // Считаем суммы элементов по строкам матрицы и запоминаем результат - пригодится
            sums = me.GetElementsSums();

            ushort maxcol = me.GetMaxColNumber(sums);

            if(maxcol > excParam1)
            {
                // Условие задачи соблюдено
                me.Truncate(0, maxcol);
                me.Print();
            }
            else
            {
                // По условию задачи номер строки с максимальной суммой элементов не больше заданного числа
                double[] ncol = me.GetColAsArray(maxcol);
                foreach(double nval in ncol)
                {
                    System.Console.WriteLine(String.Format("| {0,5:0.##} |", nval));
                }
            }

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            // Заданные по условию задачи величины (менять в коде, либо дописывать чтение ввода пользователя)
            double excParam1 = Constants.PARAM1;
            double excParam2 = Constants.PARAM2;

            double[] sums;

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

            // Создаём прямоугольную матрицу
            MatrixEx me = new MatrixEx(Constants.MATRIX_ROWS, Constants.MATRIX_COLS);
            // Выводим таблицу, метод Print описан в классе базовой матрицы и унаследован
            me.Print();

            // Считаем суммы элементов по строкам матрицы и запоминаем результат - пригодится
            sums = me.GetElementsSums();

            if(me.CheckCond(sums, excParam1, excParam2))
            {
                // Все суммы элементов строк попадают на заданный отрезок
                System.Console.WriteLine("Vse summy elementov popadaut na zadanny otrezok");
                me.PrintMaxLineNumber(sums);
            }

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            double[] sums;
            ushort minRow;
            ushort maxRow;

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

            // Создаём прямоугольную матрицу
            MatrixEx me = new MatrixEx(Constants.MATRIX_ROWS, Constants.MATRIX_COLS);
            // Выводим таблицу, метод Print описан в классе базовой матрицы и унаследован
            me.Print();

            // Считаем суммы элементов по строкам матрицы и запоминаем результат - пригодится
            sums = me.GetElementsSums();

            maxRow = me.GetMaxLineNumber(sums);

            minRow = me.GetMinLineNumber(sums);

            me.SwapRows(minRow, maxRow);
            me.Print();

            Console.ReadKey();
        }