मुझे यकीन है कि कैसे वास्तव में आप 90 डिग्री से एक मैट्रिक्स बारी बारी से करने का इरादा है और अभी तक अभी भी घुमाया संस्करण के शीर्ष बाईं ओर ऊपरी बाएँ एक्स नहीं हूँ, लेकिन बारी बारी से करने 90 डिग्री से कुछ, मैं बस एक नई सरणी बनाउंगा, पंक्तियों और स्तंभों को स्वैप करूँगा और क्षैतिज रूप से फ्लिप करूंगा।
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];
घुमाएँ खत्म के साथ:
0, 0, 0, 0,
0, 0, 1, 1,
0, 1, 1, 0,
0, 0, 0, 0,
अब इस एक विकर्ण फ्लिप है (संपादित करें: यह सिर्फ मेरे लिए होता है कि यह एक ही स्थिति में एक्स रखेंगे: शायद यह तुम क्या मतलब है?) है, लेकिन सिर्फ एक horisontal फ्लिप कर सकते हैं और यह ठीक किया जाना चाहिए:
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];
घुमाएँ पर समाप्त
(अन्य तरीके से झुकाने के लिए: rotate[i][j] = start[j][3-i];
)
:)
चेक बाहर Rot90 परिभाषा यहाँ: http://pastebin.com/k667ujJ8 – AlexFoxGill