導入
行と列のある「表」のようなデータは、2次元配列で表せます。座席表や盤面などに使います。
説明
型 名前[行][列] で宣言します。名前[行][列] でアクセスします。行と列のマス目(表)をイメージしてください。
flowchart TB
subgraph T["int table[2][3](2行3列)"]
direction TB
r0["[0][0]=1 | [0][1]=2 | [0][2]=3"]
r1["[1][0]=4 | [1][1]=5 | [1][2]=6"]
end
#include <iostream>
using namespace std;
int main() {
int table[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
cout << table[0][2] << endl; // 3(0行目・2列目)
cout << table[1][0] << endl; // 4(1行目・0列目)
return 0;
}
二重の for で全要素を回れます。外側が行、内側が列に対応します。
#include <iostream>
using namespace std;
int main() {
int m[2][2] = {{1, 2}, {3, 4}};
for (int r = 0; r < 2; r++) {
for (int c = 0; c < 2; c++) {
cout << m[r][c] << " ";
}
cout << endl;
}
return 0;
}
やってみよう
table の値を書き換えたり、二重ループで表全体を表示したりして、行と列の対応を確かめましょう。
演習
2次元配列 int m[2][2] = {{1, 2}, {3, 4}}; の4要素すべての合計を二重ループで求めて表示してください(結果は 10)。
ヒント1を見る
int total = 0; から始め、二重 for の中で total += m[r][c];。