洛谷-B2104 矩阵加法 Go语言

16 篇文章 0 订阅

洛谷-B2104 矩阵加法 Go语言

题目描述

输入两个 n 行 m 列的矩阵 A 和 B,输出它们的和 A+B,矩阵加法的规则是两个矩阵中对应位置的值进行加和,具体参照样例。

输入格式

第一行包含两个整数 n 和 m,表示矩阵的行数和列数 ( 1 ≤ n ≤ 100 , 1 ≤ m ≤ 100 1 \le n \le 100,1 \le m \le 100 1n100,1m100)。

接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。

接下来 n 行,每行 m 个整数,表示矩阵 B 的元素。

相邻两个整数之间用单个空格隔开,每个元素均在 1 ∼ 1000 1 \sim 1000 11000 之间。

输出格式

n 行,每行 m 个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。

输入输出样例

输入 #1

3 3
1 2 3
1 2 3
1 2 3
1 2 3
4 5 6
7 8 9

输出 #1

2 4 6
5 7 9
8 10 12

解题

矩阵相加规则就是对应的位置的值进行相加
( A + B ) i , j = a i , j + b i , j (A + B)_{i,j} = a_{i,j} + b_{i,j} (A+B)i,j=ai,j+bi,j

package main

import (
	"fmt"
)

func showSum(nums1 [][]int, nums2 [][]int) {
	for i := 0; i < len(nums1); i++ {
		for j := 0; j < len(nums1[0]); j++ {
			fmt.Printf("%d ", nums1[i][j]+nums2[i][j])	// 按位相加
		}
		fmt.Println()
	}
}

func main() {
	var n, m int				// 记录行和列
	fmt.Scan(&n, &m)			// 输入
    // 初始化两个二维数组
	nums1 := make([][]int, n)	
	for i, _ := range nums1 {
		nums1[i] = make([]int, m)
	}
	nums2 := make([][]int, n)
	for i, _ := range nums2 {
		nums2[i] = make([]int, m)
	}
    // 输入矩阵的元素
	for i := 0; i < n; i++ {
		for j := 0; j < m; j++ {
			fmt.Scan(&nums1[i][j])
		}
	}
	for i := 0; i < n; i++ {
		for j := 0; j < m; j++ {
			fmt.Scan(&nums2[i][j])
		}
	}
    // 输出相加结果
	showSum(nums1, nums2)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值