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(); // Ждём выброс и валим нахер! }