ホーム » 「添え字」タグがついた投稿
タグアーカイブ: 添え字
2次元配列のデータ並び順
2年生のJavaScriptでの実験で、2次元配列のデータ並び順を誤解している人が多かったので、改めて説明。
何気なく、2次元配列を初期化した後、array[y][x] のデータの場所を誤解している。
数学の行列だと、a[x][y] で記述することが多いけど、配列の並び順を考える時は、a[y][x] との違いに慣れていないのが原因。
理解確認
以下のプログラムの実行結果は、何?
答え:23
// C言語 int a[][] = { { 11 , 12 , 13 , 14 } , { 21 , 22 , 23 , 24 } , { 31 , 32 , 33 , 34 } , } ; int main() { printf( "%d\n" , a[ 1 ][ 2 ] ) ; return 0 ; } // JavaScript var a = [ [ 11 , 12 , 13 , 14 ] , [ 21 , 22 , 23 , 24 ] , [ 31 , 32 , 33 , 34 ] , ] ; alert( a[ 1 ][ 2 ] ) ;
このプログラムの実行結果を 32 と答えた人は、以下の説明を読むこと。
2次元配列の行と列
数学の行列表記と2次元配列の添え字の違い
数学の行列と2次元配列の添え字は、列を単位として考えるか、行を単位として考えるかが違うので注意が必要。
答え:21
ちなみに、科学技術計算用のプログラム言語 Fortran は、数学をベースに文法が決められたので、C 言語と添え字の順序が違うので注意が必要。