Sana 90 derece bir matris döndürmek niyetinde ve henüz hala döndürülmüş sürümü sol üst sol üst X kaç tam olarak emin değilim ama döndürmek için 90 derece bir şey, ben sadece yeni bir dizi yapmak, satır ve sütun takas ve hokey olarak çevirmek istiyorum. ile
int[][] start = new int[4][];
start[0] = new int[4] { x, 0, 0, 0 }
start[1] = new int[4] { 0, 0, 1, 0 }
start[2] = new int[4] { 0, 1, 1, 0 }
start[3] = new int[4] { 0, 1, 0, 0 }
int[][] rotate = new int[4][];
for (int i=0; i<4; i++) rotate[i] = new int[4];
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
rotate[i][j] = start[j][i];
Döndür bitirir:
0, 0, 0, 0,
0, 0, 1, 1,
0, 1, 1, 0,
0, 0, 0, 0,
Şimdi bu diyagonal flip (Düzeltme: Sadece bu aynı konumda x tutacak diye düşündüğüm oluyor: belki de bu ne demek nedir?) ama sadece bir horisontal flip yapmak ve ince olmalıdır:
0, 0, 0, 0,
1, 1, 0, 0,
0, 1, 1, 0,
0, 0, 0, 0,
0123:
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
rotate[i][3-j] = start[j][i];
Döndürme ile bitirir
(başka bir yol yatırmak için: rotate[i][j] = start[j][3-i];
) Buraya
:)
Kontrol dışarı Rot90 tanımını: http://pastebin.com/k667ujJ8 – AlexFoxGill