第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番地となります。