How to rotate square matrix 90 degrees to the right in C#

1 Answer

0 votes
using System;
 
class Program
{
    static void print_matrix(int[,] matrix) { 
        for (int i = 0; i < matrix.GetLength(0); i++) { 
            for (int j = 0; j < matrix.GetLength(1); j++) 
               Console.Write("{0, 2}", matrix[i, j]); 
            Console.WriteLine(); 
        } 
        Console.WriteLine(); 
    } 
   
    static void rotate_matrix_90_degrees_right(int[,] matrix) { 
        int len = matrix.GetLength(0);
        for (int i = 0; i < len / 2; i++) { 
            for (int j = i; j < len - i - 1; j++) { 
                int tmp = matrix[i, j]; 
                matrix[i, j] = matrix[len - 1 - j, i]; 
                matrix[len - 1 - j, i] = matrix[len - 1 - i, len - 1 - j]; 
                matrix[len - 1 - i, len - 1 - j] = matrix[j, len - 1 - i]; 
                matrix[j, len - 1 - i] = tmp; 
            } 
        } 
    } 
     
    static void Main()
    {
        int[,] matrix = 
        { 
            {1, 2, 3}, 
            {4, 5, 6}, 
            {7, 8, 9} 
        }; 
         
        rotate_matrix_90_degrees_right(matrix); 
        print_matrix(matrix); 
    }
}
 
 
 
/*
run:
 
 7 4 1
 8 5 2
 9 6 3
  
*/

 



answered May 19, 2019 by avibootz

Related questions

1 answer 204 views
1 answer 224 views
1 answer 178 views
1 answer 182 views
1 answer 188 views
1 answer 189 views
...