New Go
This commit is contained in:
41
BasicSyntax/prime/transpose.go
Normal file
41
BasicSyntax/prime/transpose.go
Normal file
@@ -0,0 +1,41 @@
|
||||
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()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user