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_left(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[j, len - 1 - i];
matrix[j, len - 1 - i] = matrix[len - 1 - i, len - 1 - j];
matrix[len - 1 - i, len - 1 - j] = matrix[len - 1 - j, i];
matrix[len - 1 - j, i] = tmp;
}
}
}
static void Main()
{
int[,] matrix =
{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
rotate_matrix_90_degrees_left(matrix);
print_matrix(matrix);
}
}
/*
run:
3 6 9
2 5 8
1 4 7
*/