Изменить значения в двумерном массиве - C#
Формулировка задачи:
У меня есть двумерный(квадратный) массив double заполненный нулями и единицами, кто подскажет, как изменить значения в матрице на значения от 0 до 1, величина которых зависит от удаленности от 1?, чтобы получилось что-то вроде этого:
Решение задачи: «Изменить значения в двумерном массиве»
textual
Листинг программы
- static void Main(string[] args)
- {
- int n;
- int.TryParse(Console.ReadLine(), out n);
- double[,] ar = new double[n, n];
- CreateArray(ar);
- ShowArray(ar);
- Console.WriteLine();
- ArrayTransform(ar);
- ShowArray(ar);
- Console.ReadKey();
- }
- static void CreateArray(double[,] ar)
- {
- for (int i = 0; i < ar.GetLength(0); i++)
- {
- for (int j = 2; j < ar.GetLength(1)-2; j++)
- {
- if (i == j)
- ar[i, j] = 1;
- }
- }
- }
- static void ShowArray(double[,] ar)
- {
- for (int i = 0; i < ar.GetLength(0); i++)
- {
- for (int j = 0; j < ar.GetLength(1); j++)
- {
- Console.Write($"{ar[i, j]} ");
- }
- Console.WriteLine();
- }
- }
- static void ArrayTransform(double[,] ar)
- {
- for (int i = 0; i < ar.GetLength(0); i++)
- {
- for (int j = 0; j < ar.GetLength(1); j++)
- {
- if (ar[i, j] == 1)
- {
- if (ar[i - 1, j - 1] != 0.9 )
- {
- ar[i - 1, j - 1] = 0.3;
- }
- if (ar[i +1, j + 1] != 1)
- {
- ar[i +1, j + 1] = 0.3;
- }
- ar[i,j]=0.9;
- ar[i -1,j] = 0.6;
- ar[i+1,j] = 0.6;
- ar[i,j+1] = 0.6;
- ar[i, j-1] = 0.6;
- ar[i - 2, j] = 0.3;
- ar[i + 2, j] = 0.3;
- ar[i, j + 2] = 0.3;
- ar[i, j - 2] = 0.3;
- }
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д