Построить результат сглаживания заданной вещественной матрицы размером 8 х 8 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер,господа,понадобилась ваша помощь в VB нужно Построить результат сглаживания заданной вещественной матрицы размером 8 х 8 Соседями элемента в матрице Aij назовем элементы АKL ; i-1 ≤ K≤ i+1, j-1 ≤ L ≤ j+1,(K,L) ≠ (i,j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной вещественной матрицы размером 8 х 8. В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали. Знаю здесь на форуме много умных программистов, пожалуйста помогите мне с этой задачей (напишете пожалуйста начиная от "namespace...." Вы единственные кто может мне помочь. Всем заранее спасибо за ответы

Решение задачи: «Построить результат сглаживания заданной вещественной матрицы размером 8 х 8»

textual
Листинг программы
    class Program
    {
        static void Main(string[] args)
        {
            Random ranf = new Random();
            double[,] mas = new double[8, 8];
 
            // заполнение массива случайными числами в пределах 10-100
            for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    mas[i, j] = ranf.Next(10, 100);
                    Console.Write(" {0}", mas[i, j]);
                }
                Console.WriteLine();
            }
 
            double[,] newmas = new double[mas.GetLength(0), mas.GetLength(1)];
            double sum = 0;
            Console.WriteLine("--------------------------------");
 
            //  создание нового массива "newmas", с исходного массива 
            //  "mas" путем "сглаживаниия"     
            for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    if (j == 0 || j == 8)
                        newmas[i, j] = mas[i, j];
 
                    else newmas[i, j] = (mas[i, j - 1] + mas[i, j + 1])\2;
 
                    Console.Write(" {0}", newmas[i, j]);
                }
                Console.WriteLine();
            }
            // поиск элементов под главной диагональю матрицы и
            // подсчета их суммы
            for (int i = 1; i < 8; i++)
            {
                for (int j = 1; j < 8; j++)
                {
                    if (i == j)
                        sum += Math.Abs(newmas[i, j - 1]);
                }
            }
 
            Console.WriteLine(" Сумма = {0}", sum);
            Console.ReadLine();
        }
    }

Объяснение кода листинга программы

На языке C++ написан код, который выполняет следующие действия:

  1. Создает двумерный массив mas размером 8x8, заполняет его случайными числами в диапазоне от 10 до 100.
  2. Создает новый двумерный массив newmas, размерностью такой же, как и mas.
  3. Происходит сглаживание массива mas в массив newmas, путем замены каждого элемента mas на среднее значение элементов, расположенных слева и справа от него (кроме первого и последнего столбца).
  4. Выводит на экран массив newmas.
  5. Происходит поиск элементов, расположенных под главной диагональю матрицы, и подсчитывается их сумма.
  6. Выводится на экран сумма элементов.
  7. Программа ожидает ввода с клавиатуры, чтобы пользователь мог увидеть результат.

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


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

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

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