Go: Transposition matrix

 

package main

import (
    "fmt"
)

type Calculator struct {
    N1, N2 float64
}

func (c *Calculator) Print(n int) {
    for b := 1; b <= n; b++ {
        for p := 1; p <= b; p++ {
            fmt.Printf("%v * %v = %-3v", p, b, p*b)
        }
        println()
    }
}
func (c *Calculator) transposition(b [][]int) (p [][]int) {
    var rows = len(b)
    var columns = len(b[0])

    p = make([][]int, columns)

    for i := 0; i < rows; i++ {
        for j := 0; j < columns; j++ {
            if p[j] == nil {
                p[j] = make([]int, rows)
            }
            p[j][i] = b[i][j]
        }
    }
    return
}
func main() {
    var c Calculator
    c.Print(5)
    var b = [][]int{{1, 2, 3}, {4, 5, 6}}
    transposition := c.transposition(b)
    fmt.Println(b)
    fmt.Println(transposition)
}

 

posted @ 2022-05-18 10:34  ascertain  阅读(14)  评论(0编辑  收藏  举报