Изменить значения в двумерном массиве - C#

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

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

У меня есть двумерный(квадратный) массив double заполненный нулями и единицами, кто подскажет, как изменить значения в матрице на значения от 0 до 1, величина которых зависит от удаленности от 1?, чтобы получилось что-то вроде этого:

Решение задачи: «Изменить значения в двумерном массиве»

textual
Листинг программы
  1. static void Main(string[] args)
  2.         {
  3.             int n;
  4.             int.TryParse(Console.ReadLine(), out n);
  5.             double[,] ar = new double[n, n];
  6.             CreateArray(ar);
  7.             ShowArray(ar);
  8.             Console.WriteLine();
  9.             ArrayTransform(ar);
  10.             ShowArray(ar);
  11.             Console.ReadKey();
  12.         }
  13.         static void CreateArray(double[,] ar)
  14.         {
  15.             for (int i = 0; i < ar.GetLength(0); i++)
  16.             {
  17.                 for (int j = 2; j < ar.GetLength(1)-2; j++)
  18.                 {
  19.                     if (i == j)
  20.                         ar[i, j] = 1;
  21.                 }
  22.             }
  23.         }
  24.         static void ShowArray(double[,] ar)
  25.         {
  26.             for (int i = 0; i < ar.GetLength(0); i++)
  27.             {
  28.                 for (int j = 0; j < ar.GetLength(1); j++)
  29.                 {
  30.                     Console.Write($"{ar[i, j]}     ");
  31.                 }
  32.                 Console.WriteLine();
  33.             }
  34.  
  35.         }
  36.         static void ArrayTransform(double[,] ar)
  37.         {
  38.             for (int i = 0; i < ar.GetLength(0); i++)
  39.             {
  40.                 for (int j = 0; j < ar.GetLength(1); j++)
  41.                 {
  42.                     if (ar[i, j] == 1)
  43.                     {
  44.                         if (ar[i - 1, j - 1] != 0.9 )
  45.                         {
  46.                             ar[i - 1, j - 1] = 0.3;
  47.                         }
  48.                         if (ar[i +1, j + 1] != 1)
  49.                         {
  50.                             ar[i +1, j + 1] = 0.3;
  51.                         }
  52.                         ar[i,j]=0.9;
  53.                         ar[i -1,j] = 0.6;
  54.                         ar[i+1,j] = 0.6;
  55.                         ar[i,j+1] = 0.6;
  56.                         ar[i, j-1] = 0.6;
  57.                         ar[i - 2, j] = 0.3;
  58.                         ar[i + 2, j] = 0.3;
  59.                         ar[i, j + 2] = 0.3;
  60.                         ar[i, j - 2] = 0.3;
  61.  
  62.                     }
  63.                  
  64.                 }
  65.          
  66.             }
  67.         }
  68.     }

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


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

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

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы