Осуществить циклический сдвиг элементов квадратной матрицы - C#
Формулировка задачи:
Ребята помогите пожалуйста, задание в институте.
Осуществить циклический сдвиг элементов квадратной матрицы размером MxN вправо на К элементов таким образом: элементы первой строки сдвигаются в последний столбец сверху вниз, из него - в последнюю строку справа налево, из нее - в первый столбец снизу вверх, из него в первую строку; для остальных элементов-аналогично.
я так понял если у нас матрица 3x3 то: Я не могу придумать саму логику сдвига, что бы подошло и к матрице 4 на 4, если есть хоть какие- то идеи или наброски кидайте, буду рад каждому ответу.Решение задачи: «Осуществить циклический сдвиг элементов квадратной матрицы»
textual
Листинг программы
static int[,] Rotate(int[,] arr) { int[,] rotatedArray = new int[arr.GetLength(0), arr.GetLength(0)]; for(int i=0; i<arr.GetLength(0); i++) for(int j=0; j<arr.GetLength(0); j++) { rotatedArray[i, j] = arr[arr.GetLength(0) - j - 1, i]; } return rotatedArray; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д