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 @   ascertain  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-05-18 npm
2021-05-18 MySQL: Pagination
点击右上角即可分享
微信分享提示