How to transpose a matrix (swap rows and columns) in VB.NET

1 Answer

0 votes
Imports System

Public Class Program

    ' Function to transpose a matrix
    Public Shared Function Transpose(matrix As Integer(,)) As Integer(,)
        Dim rows As Integer = matrix.GetLength(0)
        Dim cols As Integer = matrix.GetLength(1)

        Dim result(cols - 1, rows - 1) As Integer

        For i As Integer = 0 To cols - 1
            For j As Integer = 0 To rows - 1
                result(i, j) = matrix(j, i)
            Next
        Next

        Return result
    End Function

    Public Shared Sub Main()
        Dim matrix As Integer(,) = {
            {1, 2, 3, 5},
            {4, 5, 6, 1},
            {7, 8, 9, 0}
        }

        Dim transposed = Transpose(matrix)

        Dim rows As Integer = transposed.GetLength(0)
        Dim cols As Integer = transposed.GetLength(1)

        For i As Integer = 0 To rows - 1
            For j As Integer = 0 To cols - 1
                Console.Write(transposed(i, j) & " ")
            Next
            Console.WriteLine()
        Next
    End Sub

End Class
 

 
' run:
' 
' 1 4 7 
' 2 5 8 
' 3 6 9 
' 5 1 0 
'

 



answered Jan 13, 2022 by avibootz
edited 1 day ago by avibootz
...