Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะหมุนเมทริกซ์ขนาด n * n ถึง 90 องศาโดยใช้ C # ได้อย่างไร


ในเมทริกซ์ มีทั้งหมด n/2 สี่เหลี่ยมในเมทริกซ์ n*n และเราสามารถประมวลผลแต่ละตารางทีละอันโดยใช้การวนซ้ำที่ซ้อนกัน ในแต่ละองค์ประกอบสี่เหลี่ยมจะเคลื่อนที่เป็นวงจร 4 องค์ประกอบ เราสลับองค์ประกอบที่เกี่ยวข้องในทิศทางทวนเข็มนาฬิกาสำหรับแต่ละรอบ

องค์ประกอบที่ตำแหน่ง (n-1-j,i) จะไปที่ตำแหน่ง(i,j)

องค์ประกอบที่ตำแหน่ง (i,j) จะไปที่ตำแหน่ง (j,n-1-i)

องค์ประกอบที่ตำแหน่ง (j,n-1-i) จะไปที่ตำแหน่ง (n-1-i,n-1-j)

องค์ประกอบที่ตำแหน่ง (n-1-i,n-1-j) จะไปที่ตำแหน่ง (n-1-j,i)

ตัวอย่าง

<ก่อนหน้า>ใช้ระบบ การใช้ System.Text;namespace ConsoleApplication{ เมทริกซ์คลาสสาธารณะ { โมฆะสาธารณะ RotateMatrixBy90Degree (int [,] เมทริกซ์) { int n =matrix.GetLength (0); สำหรับ (int i =0; i

ผลลัพธ์

15 13 2 514 3 4 112 6 8 916 7 10 11