Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- )
- func height(a [][]int32) int32 {
- var height int32
- for _, h := range a {
- height = int32(len(h))
- break
- }
- return height
- }
- func multiply(a [][]int32, b [][]int32) [][]int32 {
- var n int32 = int32(len(a))
- var ans = make([][]int32, n)
- for i:= range ans {
- ans[i] = make([]int32, n)
- }
- for i:=int32(0); i<n; i++ {
- for j:=int32(0); j<n; j++ {
- ans[i][j] = int32(0)
- for k:=int32(0); k<n; k++ {
- ans[i][j] +=a[i][k]*b[k][j]
- }
- }
- }
- return ans
- }
- func printMatrix(ans [][]int32) {
- var n int32 = int32(len(ans))
- for i := int32(0); i < n; i++ {
- for j := int32(0); j < n; j++ {
- fmt.Printf("%d\t", ans[i][j])
- }
- fmt.Println()
- }
- }
- func main() {
- //Defining 2D matrices
- m1 := [][]int32{
- []int32{1, 1, 1},
- []int32{1, 1, 1},
- []int32{1, 1, 1},
- }
- m2 := [][]int32{
- []int32{1, 1, 1},
- []int32{1, 1, 1},
- []int32{1, 1, 1},
- }
- printMatrix(multiply(m1, m2))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement