Обход матрицы диагональной змейкой - C#
Формулировка задачи:
Здравствуйте! Помогите пожалуйста разобраться, почему в коде начиная с // Обход диагональной змейкой в строке
int k = 0; выдается ошибка о том, что локальная переменная нигде не используется.
static void Main(string[] args) { int n = 5; int[] A = new int[n * n]; int[,] B = new int[n, n]; Console.WriteLine("Матрица:"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { B[i, j] = i + j + 10; Console.Write(B[i, j] + " "); } Console.WriteLine(); } int k = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { A[k] = B[i, j]; //перевод в вектор k++; } } Console.WriteLine("Думерный в одномерный:"); for (int i = 0; i < B.Length; i++) { Console.Write(A[i] + " "); } { // Обход диагональной змейкой int z = 1; int k = 0; const int p = 4; for (int k = (2 * p - 2); k >= 0; k--) // Цикл перебора диагоналей { for (int l = 0; l <= k; l++) // Цикл прохода по диагонали { int i, j; if (k % 2 == 1) // Меняя местами i и j, изменяем направление прохода { i = l; j = k - l; } else { i = k - l; j = l; } if ((i < n) && (j < n)) // Проверяем попадание в квадрат { B[i, j] = z++; } } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) Console.Write(B[i, j].ToString() + " "); Console.WriteLine(); } } Console.ReadKey(); } } }
Решение задачи: «Обход матрицы диагональной змейкой»
textual
Листинг программы
int k = 0;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д