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