Деление строк массива по условию - C#
Формулировка задачи:
Задан двумерный целочисленный массив F размером 9 на 9 элементов. Написать процедуру для деление на 10 элементов тех строк массива, которые содержат значение, большее общего среднего арифметического.
Вопросы появляются на моменте после нахождения значения в строке большего чем среднее арифметическое, еще раз проходить по массиву или есть другие варианты
Решение задачи: «Деление строк массива по условию»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
static void Main()
{
Random rnd = new Random();
int N = 9;
int M = 9;
int[,] matrix = new int[N, M];
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
Console.Write(matrix[i, j] = rnd.Next(1000));
Console.Write('\t');
}
Console.WriteLine();
}
int avg = (int)matrix.Cast<int>().Average();
Console.WriteLine();
Console.Write("Average: ");
Console.WriteLine(avg);
for (int i = 0; i < N; i++)
{
if (Enumerable.Range(0, M).Any(j => matrix[i, j] > avg))
{
for (int j = 0; j < M; j++) matrix[i, j] /= 10;
}
}
Console.WriteLine();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
Console.Write(matrix[i, j]);
Console.Write('\t');
}
Console.WriteLine();
}
}
}