Обход матрицы диагональной змейкой - 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;

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


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

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

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