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();
        }