1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 行列計算メニュー(言語選択)
  4. 問題一覧 C++編
  5. 行列の足し算 C++編

行列計算メニューのサムネイル
行列の足し算 C++編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

H 行 W 列の行列 A と B が与えられます。
行列 A, B は i 行 j 列目の要素がそれぞれ a_{i, j}, b_{i, j} である行列です。
同じ行数・同じ列数の行列同士の足し算は次のように定義されます。



つまり、A に B を足した結果は、i 行 j 列目の要素が a_{i, j} と b_{i, j} を足した値である 行列 となります。
行列 A に行列 B を足した結果となる行列 C を計算してください。

入力される値

H W
a_{1,1} a_{1,2} ... a_{1,W}
a_{2,1} a_{2,2} ... a_{2,W}
...
a_{H,1} a_{H,2} ... a_{H,W}
b_{1,1} b_{1,2} ... b_{1,W}
b_{2,1} b_{2,2} ... b_{2,W}
...
b_{H,1} b_{H,2} ... b_{H,W}


・1 行目では行列 A, B の行数 H と列数 W が空白区切りで与えられます。
・次の H 行では行列 A の要素 a_{i, j} が、行ごとに、空白区切りで与えられます。
・次の H 行では行列 B の要素 b_{i, j} が、行ごとに、空白区切りで与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

次のフォーマットに従い、行列 C = A + B の i 行 j 列目の要素 c_{i, j} を、行ごとに、空白区切りで出力してください。

c_{1,1} c_{1,2} ... c_{1,W}
c_{2,1} c_{2,2} ... c_{2,W}
...
c_{H,1} c_{H,2} ... c_{H,W}

末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて, 以下の条件をみたします

・入力はすべて整数
・1 ≦ H, W ≦ 100
・-10^3 ≦ a_{i, j}, b_{i, j} ≦ 10^3 (1 ≦ i ≦ H, 1 ≦ j ≦ W)

入力例1

2 3
10 1 3
0 -2 2
-9 0 -10
-7 8 -6

出力例1

1 1 -7
-7 6 -4

入力例2

1 3
1 2 3
2 -2 10

出力例2

3 0 13

入力例3

4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

出力例3

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

問題一覧へ戻る

ページの先頭へ戻る