36 lines
534 B
Go
36 lines
534 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
type row []float64
|
|
type matrix []row
|
|
|
|
func main() {
|
|
m := matrix{
|
|
{1, 2, 3},
|
|
{4, 5, 6},
|
|
}
|
|
printMatrix(m)
|
|
t := transpose(m)
|
|
printMatrix(t)
|
|
}
|
|
|
|
func printMatrix(m matrix) {
|
|
for _, s := range m {
|
|
fmt.Println(s)
|
|
}
|
|
}
|
|
|
|
func transpose(m matrix) matrix {
|
|
r := make(matrix, len(m[0]))
|
|
for x, _ := range r {
|
|
r[x] = make(row, len(m))
|
|
}
|
|
for y, s := range m {
|
|
for x, e := range s {
|
|
r[x][y] = e
|
|
}
|
|
}
|
|
return r
|
|
}
|