
29.10.2009, 11:54
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме: 265628
Репутация:
23
|
|
Код:
#include <algorithm>
template < typename T >
void _rotate(T *arr, int size, int step, bool right) {
if(right)
for(int i=0; i<size; ++i) rotate(arr[i], arr[i]+size-step, arr[i]+size);
else
for(int i=0; i<size; ++i) rotate(arr[i], arr[i]+step, arr[i]+size);
}
...
_rotate(matrix, 5, 2, 0); // Сдвинуть на 2 влево
_rotate(matrix, 5, 1, 1); // Сдвинуть на 1 вправо
|
|
|