using System;
class Program
{
static void Main()
{
Console.Write("Введите количество строк M: ");
int m = int.Parse(Console.ReadLine());
Console.Write("Введите количество столбцов N: ");
int n = int.Parse(Console.ReadLine());
int[,] matrix = new int[m, n];
double[] averages = new double[m];
Random rnd = new Random();
// Инициализация матрицы случайными числами
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
matrix[i, j] = rnd.Next(0, 10); // числа от 0 до 9
}
}
// Вывод исходной матрицы
Console.WriteLine("\nИсходная матрица:");
PrintMatrix(matrix);
// Вычисление среднего арифметического для каждой строки
for (int i = 0; i < m; i++)
{
int sum = 0;
for (int j = 0; j < n; j++)
{
sum += matrix[i, j];
}
averages[i] = (double)sum / n;
}
// Вывод средних арифметических
Console.WriteLine("\nСреднее арифметическое каждой строки:");
for (int i = 0; i < m; i++)
{
Console.WriteLine($"Строка {i + 1}: {averages[i]:F2}");
}
// Формирование результирующей матрицы
int[,] resultMatrix = new int[m, n];
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (matrix[i, j] < averages[i])
resultMatrix[i, j] = 0;
else if (matrix[i, j] > averages[i])
resultMatrix[i, j] = 1;
else
resultMatrix[i, j] = matrix[i, j];
}
}
// Вывод результирующей матрицы
Console.WriteLine("\nРезультирующая матрица:");
PrintMatrix(resultMatrix);
}
static void PrintMatrix(int[,] matrix)
{
int rows = matrix.GetLength(0);
int cols = matrix.GetLength(1);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
Console.Write(matrix[i, j] + "\t");
}
Console.WriteLine();
}
}
}