Прочитать матрицу по спирали - C#

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

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

Ребята есть такое задание нужно прочитать матрицу по спирали вот мои наброски)) но тут читает только по строкам есть два варианта решений один рабочий один только задумка в первом мы используем col row directon switch и тд во втором можно сделать так? чтоб сначала читать первую строчку потом поворачивать матрицу на 270(ну или на 90 против часовой) и читать строчки в таком порядке прочитал,удалил,перевернул Какой из вариантов более рабочий?? и немножко надо помочь реализовать эти варианты)))
char[,] num = new char[4, 4] { { 'I', 'L', 'O', 'V' }, { 'A', 'R', 'L', 'E' }, { 'E', '!', 'Y', 'E' }, { 'D', 'C', 'I', 'P' } };
             for (int k = 0; k < num.GetLength(0); k++)
             {
                 for (int z = 0; z < num.GetLength(1); z++)
                 {
                     Console.Write(num[k, z] + " ");
                 }
                 Console.WriteLine();
             }
             Console.WriteLine();
            for (int i = 0; i < num.GetLength(1); i++)
             {
 
                 for (int j = 0; j < num.GetLength(0); j++)
                 {
                     if (num[i, 0] > 1)
                     {
 
                         Console.Write(num[i, j]+" ");
                     }
                 }
 
             }

Решение задачи: «Прочитать матрицу по спирали»

textual
Листинг программы
 char[,] num = new char[4, 4] { { 'I', 'L', 'O', 'V' }, { 'A', 'R', 'L', 'E' }, { 'E', '!', 'Y', 'E' }, { 'D', 'C', 'I', 'P' } };
            char[,] num2=new char[4,4];
            
           
            for (int k = 0; k < 4; k++)
            {
                for (int z = 0; z < 4; z++)
                {
                    Console.Write(num[k, z] + " ");
                }
                Console.WriteLine();
                //Console.WriteLine(num[k, 0]);
            }
            Console.WriteLine();
 
            for (int i = 0; i < 4; i++)
            {
 
                for (int j = 1; j < 4; j++)
                {
                    num2[i, j] = num[j, (4 - i - 1)];
                    Console.Write(num2[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine();
            for (int i = 0; i < 3; i++)
            {
 
                for (int j = 1; j < 4; j++)
                {
                    num2[i, j] = num[(4 - i - 1), (4 - j - 1)];
                    Console.Write(num2[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            for (int i = 0; i < 3; i++)
            {
 
                for (int j = 1; j < 3; j++)
                {   
                    num2[i, j] = num[4 - j - 1, i];
                    Console.Write(num2[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            for(int i = 1; i < 3; i++)
            {
                for(int j = 1; j < 3; j++)
                {
                    Console.Write(num2[j,4- i-1]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            for (int i = 1; i < 2; i++)
            {
                for (int j = 1; j < 3; j++)
                {
                    Console.Write(num2[3-j,i]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            for (int i = 1; i < 2; i++)
            {
                for (int j = 2; j < 3; j++)
                {
                    Console.Write(num2[3 - j, i]);
                }
                Console.WriteLine();
            }

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


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

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

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