Изменить значения в двумерном массиве - 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; } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д