●已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是 (37) 。(37) A.T[i+j]B.T[i*n+j]C.T[i]D.T[i-1]

题目

●已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是 (37) 。

(37) A.T[i+j]

B.T[i*n+j]

C.T[i]

D.T[i-1]


相似考题
更多“●已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[ ”相关问题
  • 第1题:

    设数组a[0..n-1,0..m-1](n>0,m>0)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](0≤i≤n-1,0≤j≤m-1)相对于数组空间首地址的偏移量为( )。

    A.i*m+j
    B.(i-1)*n+j-1
    C.j*n+i
    D.(j-1)*n+i-1

    答案:C
    解析:
    数组a[0..n-1,0..m-1](n>0,m>0)表示有n行m列,数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,该元素之前有j列完整(因为首列编号为0)的元素,每一列n个元素,在第j列之前有i个元素(因为首行编号为0),所以偏移量为j*n+i。

  • 第2题:

    设二维数组A[0..m-1][0..n-1]按行优先顺序存储在内存中,每个元素aij占d个字节,则元素aij的地址为()

    A.LOC(a00)+(i*n+j)*d

    B.LOC(a00)+((i-1)*n+j-1)*d

    C.LOC(a00)+((j-1)*n+i-1)*d

    D.LOC(a00)+(j*n+i-1)*d


    LOC(a[O][O]) +(j×m+i) × d

  • 第3题:

    设C/C++二维数组a[m][n],每个数组元素占用k个存储单元,第一个数组元素的存储地址是LOC(a[0][0]),求按行优先顺序存放的数组元素a[i][j](0≤i≤m-1,0≤j≤n-1)的存储地址为()。

    A.LOC(a[0][0])+[(i-1)×n+j-1]×k

    B.LOC(a[0][0])+[i×n+j]×k

    C.LOC(a[0][0])+[j×m+i]×k

    D.LOC(a[0][0])+[(j-1)×m+i-1]×k


    C

  • 第4题:

    已知m行n列的二维数组,则数组元素a[i][j]相对于a[0][0]的偏移量是()

    A.i*n+j

    B.i*m+j

    C.j*n+i

    D.j*m+i


    B

  • 第5题:

    若数组A[0..m-1][0..n-1]按列优先顺序存储,则aij地址为()

    A.LOC(a00)+j*m+i

    B.LOC(a00)+j*n+I

    C.LOC(a00)+(j-1)*n+i-1

    D.LOC(a00)+(j-1)*m+I-1


    117