今回は、2次元配列に格納されているデータの各行の合計を求めるアルゴリズムをまとめます。
生徒それぞれについて全科目のテストの合計をまとめて計算したい等、使う場面は多々ありそうです。
目的と条件
- 2次元配列(NxM)の各行の合計を求め、毎行N+1列目に格納する
- 元データの配列は以下のように表すものとする。
data[i][j] (0 ≦ i ≦ N-1、 0 ≦ j ≦ M-1)
擬似コード例
各行の要素の処理(今回は合計を求める処理)を、全行に対し繰り返しを行います。
今回のアルゴリズムの擬似コード例を示します。
Pythonコード例
Pythonコード例を示します。
実行結果
配列データの例として、5☓3次元のデータを考えます。各要素は0〜10の整数値をランダムに設定しています。
各行の最後(一番右)に元データ各行の合計値が格納されています。
コードはこちらにアップロードしましたのでご参照ください。
まとめ
今回は配列操作の一例として、2次元配列の各行の合計を求めるアルゴリズムについてまとめました。このくらいの処理であればnumpyモジュールを使えばもう少し楽に書けると思いますが、これは別の機会にまとめたいと思います。
(参考文献:杉浦賢、図解でかんたんアルゴリズム 情報処理のかなめとなる考え方が手に取るようにわかる、Softbank Creative)