设有二维数组A[1:U1,1:U2],已知数据元素A[1,1]在位置2,A[2,3]在位置18,A[3,2]在位置28,则元素A[4,5]的位置( )。

admin2014-10-20  22

问题 设有二维数组A[1:U1,1:U2],已知数据元素A[1,1]在位置2,A[2,3]在位置18,A[3,2]在位置28,则元素A[4,5]的位置(    )。

选项 A、46
B、45
C、48
D、30

答案A

解析 题目中没有给出该数组是行优先存储还是列优先存储,因此需要首先判断数组的存储方式。因为Loc(A[3,2])>Loc(A[2,3]),所以数组一定是按行存储的。因为A[1,1]是起始位置,则有L1=2。利用已知条件,根据计算地址的公式有:Loc(A[2,3])=L1+(2—1)×U2×d+(3—1)×d=18,即2+U2×d+2×d=18(方程1)Loc(A[3,2])=L1+(3—1)×U2×d+(2—1)×d=28,即2+2×U2×d+d=28(方程2)由以上两方程联立,得方程组,解得:U2=6,d=2
转载请注明原文地址:https://kaotiyun.com/show/rlvR777K
0

最新回复(0)