Imports System
Public Class Test
Public Shared Sub print_matrix(matrix(,) As Integer)
For i As Integer = 0 To matrix.GetLength(0) - 1
For j As Integer = 0 To matrix.GetLength(1) - 1
Console.Write("{0, 2}", matrix(i, j))
Next
Console.WriteLine()
Next
Console.WriteLine()
End Sub
Public Shared Sub rotate_matrix_90_degrees_left(matrix(,) As Integer)
Dim len As Integer = matrix.GetLength(0)
For i As Integer = 0 To matrix.GetLength(0) / 2 - 1
For j As Integer = i To matrix.GetLength(1) - i - 1 - 1
Dim tmp As Integer = 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
Next
Next
End Sub
Public Shared Sub Main()
Dim matrix(,) As Integer = New Integer(,) { {1, 2, 3},
{4, 5, 6},
{7, 8, 9} }
rotate_matrix_90_degrees_left(matrix)
print_matrix(matrix)
End Sub
End Class
' run:
'
' 3 6 9
' 2 5 8
' 1 4 7