static void Main(string[] args) { uint exParam1 = Constants.PARAM1; double minPos; double maxNeg; // Чистим чтобы старое не мешалось :) Console.Clear(); // Создаём прямоугольную матрицу, в конструктор передаём размер матрицы MatrixEx me = new MatrixEx(Constants.MATRIX_ROWS, Constants.MATRIX_COLS); // Выводим таблицу, метод Print описан в классе базовой матрицы и унаследован me.Print(); minPos = me.GetMinPos(); maxNeg = me.GetMaxNeg(); System.Console.WriteLine(String.Format("Minimalny polozhit: {0,5:0.###}, maximalny otricat: {1,5:0.###}", minPos, maxNeg)); // Проверяем условие задачи double diff = Math.Abs(Math.Abs(minPos) - Math.Abs(maxNeg)); System.Console.WriteLine(String.Format("Elementy otlichautsa na {0,5:0.###}", diff)); if(diff < exParam1) { /* Так как элементы по модулю отличаются меньше, чем на заданную величину, то меняем * элементы матрицы на их модули, после чего выводим изменённую матрицу */ me.Absolute(); me.Print(); } else { System.Console.WriteLine("Elementy otlichautsa bolshe chem na zadannuy velichinu ili rovno na nee"); } Console.ReadKey(); }