Сдвиг элементов матрицы

Модератор: Злобный

Ответить
Аватара пользователя
sadman
Завсегдатай
Сообщения: 2001
Зарегистрирован: Чт дек 15, 2005 23:46
Откуда: с ботаники
Контактная информация:

Сдвиг элементов матрицы

Сообщение sadman »

Итак, господа. Наткнулся на одно интересное задание, связаное со сдвигом элементов матрицы в ту или иную сторону. В самой идее сдвига, как я её понял, нет ничего интересного. Я просто двигаю элементы вправо или влево таким макаром (в примере я их двигаю вправо на 1 позицию):

1 2 3
4 5 6
7 8 9

получаем

3 1 2
6 4 5
9 7 8

Короче все просто. Но вот в чем вопрос - в задании просят двигать по их алгоритму. В целом задание звучит примерно так:
Осуществить циклический сдвиг элементов квадратной матрицы размерности M*N вправо на k элементов таким образом: элементы 1-ой строки сдвигаются в последний столбец сверху вниз, из него - в последнюю строку справа налево, из неё - в первый столбец снизу вверх, из него - в первую строку, для остальных элементов - аналогично..

Кто-нибудь может мне объяснить как это вообще выглядит! Я даже не могу взяться писать алгоритм, т.к. не могу понять что от меня требуется!
Realist
Юзер
Сообщения: 218
Зарегистрирован: Вс июн 06, 2004 15:30

Сообщение Realist »

Ну вроде
for(int i=n-1;i>=0; i--)
{
int buffer;
for(int j=m-1;j>0; j--)
{
buffer=array[j-1];
array[j-1]=array[j];
}
array[m-1]=buffer;
}
Ответить

Вернуться в «Программирование»