Cara, acredito que o que você tenha passado ai seja para apresentar na tela e não muda-las de posição na memória. Então o seguinte tente fazer um "mapa" aonde se localiza cada numeral que você digitou, por exemplo
Nº 1 - linha0,coluna0
Nº 2 - linha0,coluna1
.
.
.
E assim com os demais, depois de saber a localização deles é só fazer um outro "mapa" para saber aonde eles serão mostrados na tela, por exemplo na rotação de 90º ...
Nº 1 - Que está na linha0,coluna0 deverá ser apresentado na : linha0,coluna2
Nº 2 - Que está na linha0,coluna1 deverá ser apresentado na : linha1,coluna2
.
.
.
Com isso você vai percebendo que aonde os números serão mostrandos, assim você faz como uma apresentação normal de matriz com 2 for's só que as 2 coisas que você terá que variar são : as regras do for, em algumas vai ser encremento e nas outras decremento e quem não mudará de valor na apresentação ...
Ex : Na rotacação de 90º a mudará só depois dos 3 valores terem aparecido então ela ficará 1º no for. Tente fazer ai qualquer coisa posto o código