У меня есть неквадратный массив вроде этого:
const int dim1 = 3, dim2 = 4;
int array[12] = { 1, 2, 3,
4, 5, 6,
7, 8, 9,
10,11,12};
, и мне нужно преобразовать его в:
{3,6,9,12,
2,5,8,11,
1,4,7,10}
, то есть повернуть / перетасовать его против часовой стрелки (или по часовой стрелке, алгоритм должно быть похоже).
Алгоритм должен занимать минимальное пространство. Мне нужно повернуть изображение в среде с крайне ограниченным объемом памяти, поэтому чем меньше места, тем лучше. Скорость - не такая большая проблема.