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