Kotlin Program to Find Transpose of a Matrix

Transpose of a matrix is the process of swapping the rows to columns. For 2x3 matrix,

Matrix
a11    a12    a13
a21    a22    a23

Transposed Matrix
a11    a21
a12    a22
a13    a23

Example: Program to Find Transpose of a Matrix

fun main(args: Array<String>) {
    val row = 2
    val column = 3
    val matrix = arrayOf(intArrayOf(2, 3, 4), intArrayOf(5, 6, 4))

    // Display current matrix
    display(matrix)

    // Transpose the matrix
    val transpose = Array(column) { IntArray(row) }
    for (i in 0..row - 1) {
        for (j in 0..column - 1) {
            transpose[j][i] = matrix[i][j]
        }
    }

    // Display transposed matrix
    display(transpose)
}

fun display(matrix: Array) {
    println("The matrix is: ")
    for (row in matrix) {
        for (column in row) {
            print("$column    ")
        }
        println()
    }
}

When you run the program, the output will be:

The matrix is:
2    3    4    
5    6    4    
The matrix is:
2    5    
3    6    
4    4    

In the above program, display() function is only used to print the contents of a matrix to the screen.

Here, the given matrix is of form 2x3, i.e. row = 2 and column = 3.

For the transposed matrix, we change the order of transposed to 3x2, i.e. row = 3 and column = 2. So, we have transpose = int[column][row]

The transpose of the matrix is calculated by simply swapping columns to rows:

transpose[j][i] = matrix[i][j]

Here's the equivalent Java code: Java Program to Find transpose of a matrix

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community