配列の要素が二方向に連続して並んでいるものを2次元配列と呼びます(二方向に連続したインデックスによってアクセスできるということであり、実際のメモリ領域では二方向にはなりません)。「配列の配列」と表現することができ、1次元配列の各要素が1次元配列を持っているような構造になります。下図は2次元配列の概念図です:
整数を記録する2次元配列変数は次のように宣言・初期化します。
let array = new Array(縦方向のサイズ); for(let i = 0; i < 縦方向のサイズ; i++) { array[i] = new Array(横方向のサイズ); }
例えば、縦方向のサイズが5、横方向のサイズが7の2次元配列は以下のように宣言します:
let month = new Array(5); for(let i = 0; i < 5; i++) { month[i] = new Array(7); }
1つ目の方向の1要素について、2 つ目の方向のサイズ分だけ要素があります。合計5 × 7 = 35の要素が確保されます。
上記2次元配列変数monthにおいて、縦方向のインデックスが3、横方向のインデックスが1である要素にアクセスするにはmonth[3][1]と記述します。
let value; month[1][5] = 3; month[3][1] = 7; month[4][6] = 0; value = month[3][1]; // value の値は 7
オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。 |