Построить результат сглаживания заданной вещественной матрицы размером 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;
//Работа со сглаженным массивом

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы