ホーム » スタッフ » 斉藤徹 » 2次元配列のデータ並び順

2019年1月
 12345
6789101112
13141516171819
20212223242526
2728293031  

検索・リンク

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 言語と添え字の順序が違うので注意が必要。

 

 

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー