Осуществить циклический сдвиг элементов квадратной матрицы - 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;
}

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


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

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

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