Показать сообщение отдельно
Старый 21.07.2012, 11:15
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 1  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 921
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
По умолчанию Поворот матрицы

Имеется матрица n * m.
Код:
0 4 0
4 4 4
4 0 4
Требуется, взависимости от полученного значения, в диапозоне [0 ; 4) развернуть матрицу.
то есть:
0
Код:
0 4 0
4 4 4
4 0 4
1
Код:
4 4 0
0 4 4
4 4 0
2
Код:
4 0 4
4 4 4
0 4 0
3
Код:
0 4 4
4 4 0
0 4 4
Решений в данном случае достаточно много, но все, найденые мной, либо громоздкие, либо не производительные. Хотелось бы какое нибудь комплексное, элегантное решение.

З.Ы. матрица может в любой n-ный момент быть любого из перечисленныхь видов.
Размерность матрицы неограничена и не обязательно является равносторонней (квадратом).