Показать сообщение отдельно

  #3  
Старый 29.10.2009, 11:54
Lee_fx
Познающий
Регистрация: 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 вправо
 
Ответить с цитированием