第2種情報処理技術者試験 1996年度 = 平成8年度・秋期 午前 問14

 10行10列の2次元配列aを、次のようにメモリ上の連続した領域へ行方向に格納するとき、a[5, 6]が格納される場所の番地はどれか。ここで、番地は10進数表示とする。



 ア 145  イ 185  ウ 190  エ 208  オ 212

解答

 ウ

解説

 多次元配列の要素の並びとしては、C言語のように、後ろ側の添字が優先的に変化するように並ぶ方式と、Fortranのように、前側の添字が優先的に変化するように並ぶ方式とがあります。この問題で問われているのは、前者の方式です。
 たとえばa[1,4]は、4番目、すなわち先頭から3個後ろの要素ですから、100 + 2 * 3で106番地となります。a[5,6]は、a[1,1]~a[1,10]、a[2,1]~a[2,10]、a[3,1]~a[3,10]、a[4,1]~a[4,10]、a[5,1]~a[5,5]の次です。したがって、46番目、すなわち先頭から45個後ろの要素ですから、100 + 2 * 45で190番地となります。


BohYoh.comトップページへ