Построить результат сглаживания заданной вещественной матрицы размером 10 х 10 - C# (200685)
Формулировка задачи:
помогите пожалуйста написать программу. Не знаю как сделать.
Соседями элемента A{j в матрице назовем элементы Аi, где i - l < k < i + l , j - 1 < l<j + 1, (k, I) Операция сглаживания матрицы дает новую матрицу
того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы.
Построить результат сглаживания заданной вещественной матрицы размером 10 х 10.
В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали.
Решение задачи: «Построить результат сглаживания заданной вещественной матрицы размером 10 х 10»
textual
Листинг программы
int[,] array = new int[10, 10]; //Инициализация массива var nums = Enumerable.Range(0, array.GetLength(0)) .SelectMany(Row => Enumerable.Range(0, array.GetLength(1)) .Select(Col => new { Row, Col, Value = array[Row, Col] })); var result = nums.Select(n => new { Avg = (nums .Where(m => Math.Abs(n.Row - m.Row) + Math.Abs(n.Col - m.Col) == 1) .Sum(m => m.Value) + n.Value) / 6, n.Row, n.Col }); int r = result.Max(n=>n.Row), c = result.Max(n=>n.Col); array = new int[r + 1,c + 1]; foreach (var n in result) array[n.Row, n.Col] = n.Avg; //Работа со сглаженным массивом
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д