Write a Go program to transpose a matrix, converting rows to columns and columns to rows. In this Go example, we used the first nested for loop to convert rows to columns (transposeMat[j][i] = orgMat[i][j]) and vice versa. The next loop prints the elements in that transposed matrix.
package main import "fmt" func main() { var i, j, rows, columns int var orgMat [10][10]int var transposeMat [10][10]int fmt.Print("Enter the Matrix rows and Columns = ") fmt.Scan(&rows, &columns) fmt.Println("Enter Matrix Items to Transpose = ") for i = 0; i < rows; i++ { for j = 0; j < columns; j++ { fmt.Scan(&orgMat[i][j]) } } for i = 0; i < rows; i++ { for j = 0; j < columns; j++ { transposeMat[j][i] = orgMat[i][j] } } fmt.Println("*** The Transpose Matrix Items are ***") for i = 0; i < columns; i++ { for j = 0; j < rows; j++ { fmt.Print(transposeMat[i][j], " ") } fmt.Println() } }
Enter the Matrix rows and Columns = 2 3
Enter Matrix Items to Transpose =
1 2 3
4 8 7
*** The Transpose Matrix Items are ***
1 4
2 8
3 7
Golang Program to Transpose a Matrix using For loop range.
package main import "fmt" func main() { var orgMat [3][3]int var transposeMat [3][3]int fmt.Println("Enter Matrix Items to Transpose = ") for i, rows := range orgMat { for j := range rows { fmt.Scan(&orgMat[i][j]) } } for i, rows := range orgMat { for j := range rows { transposeMat[j][i] = orgMat[i][j] } } fmt.Println("*** The Transpose Matrix Items are ***") for i, rows := range orgMat { for j := range rows { fmt.Print(transposeMat[i][j], " ") } fmt.Println() } }