Files
go/BasicSyntax/prime/transpose.go
2025-10-09 15:26:37 +08:00

41 lines
665 B
Go

package main
import "fmt"
func transpose(matrix [][]int) [][]int {
m := len(matrix)
n := len(matrix[0])
res := make([][]int, n)
for i := range res {
res[i] = make([]int, m)
}
for i := 0; i < m; i++ {
for j := 0; j < n; j++ {
res[j][i] = matrix[i][j]
}
}
return res
}
func main() {
var n int
fmt.Scan(&n)
matrix := make([][]int, n)
for i := range matrix {
matrix[i] = make([]int, n)
for j := range matrix[i] {
fmt.Scan(&matrix[i][j])
}
}
res := transpose(matrix)
for i := range res {
for j := range res[i] {
if j != n{
fmt.Printf("%d ", res[i][j])
} else {
fmt.Printf("%d", res[i][j])
}
}
fmt.Println()
}
}