二维数组问题

有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字节存储。存储器按字节编址。假设存储数组元素A01的第一个字节的地址是0。存储数组A... 有一个二维数组 A,行下标的范围是 0 到 8,列下标的范围是 1 到 5,每个数组元素用相邻的 4 个字节存储。存储器按字节编址。假设存储数组元素 A01的第一个字节的地址是 0。
存储数组 A 的最后一个元素的第一个字节的地址是 A 。若按行存储,则 A35和 A53的第一个字节的地址分别是 B 和 C 。若按列存储,则 A71和 A24的第一个字节的地址分别是 D 和 E 。

供选择的答案A~E:①28 ② 44 ③ 76 ④ 92 ⑤ 108 ⑥ 116 ⑦ 132 ⑧ 176 ⑨ 184 ⑩ 188

答案 8 3 5 1 6
有没有什么公式什么的??
展开
 我来答
清爽且威武的小雏菊5
2012-12-21 · 超过16用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:54.5万
展开全部
1> 设A[m][n]为第x个存储的元素,则它的第一个字节的地址为(x-1)*4,(这个简单吧,每个元素4个字节,第一个为0,第二个为4,第三个为8......),关键在于怎么算这个x。

2> 若按行存储,则每行有5个元素,那么A[m][n]为第m*5+n个元素,怎么算的?答:A[m][n]为第m+1行,第n个数,由于是按行存储,到第m+1行之前,已经存储了前面m行的数,也就是m*5个数,加上本行的就是第m*5+n个。所以A[m][n]第一个字节的地址(m*5+n-1)*4

3>若按列存储,则每列有9个元素,那么A[m][n]为第(n-1)*9+(m+1)个元素。同样A[m][n]为第n 列,第m+1个数,到第n列之前,已经存储了前面n-1列的数,也就是(n-1)*9个数,加上本列的就是第(n-1)*9+(m+1)个。所以A[m][n]第一个字节的地址[(n-1)*9+(m+1)-1]*4
yanwangboy
2012-12-21
知道答主
回答量:30
采纳率:0%
帮助的人:15.1万
展开全部
A01 = 0
A02 = 4
A03 = 8
.....
A11 = 20
A12 = 24
....
所以按行存储的公式是Aij = 20*i+4*(j-1)
所以B = A35 = 20*3+4*(5-1) = 60+16 = 76
C = A53 = 20*5+4*(3-1) = 100+8 = 108
-------------------------------------------------------------------------
下面是按列存储

A01 = 0
A11 = 4
A21 = 8
......
A11 = 36
A12 = 40
.......
所以按列存储的公式是Aij = 4*i + 36*(y-1)
所以D = A71 = 4*7 + 36*(1-1) = 28
E = A24 = 4*2 + 36*(4 -1)= 8+36*3 = 116

A的地址无论是按行存储还是按列存储都一样的,
行存储:A85 = 20*8 + 4*(5-1) = 160+16 = 176
列存储:A85 = 4*8 + 36*(5-1)=32 + 144 = 176

所以答案是176,76,108,28,116
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李敬财
2012-12-21
知道答主
回答量:47
采纳率:0%
帮助的人:14.7万
展开全部
我是新手?不怎么懂,你看啊!行 9个 列5个 二维数组 就是 45个 第一次 A01 那么 他应该是 A01~A04 一个元素,我感觉 应该是 A81 仅供参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
123木头人吧
2012-12-21
知道答主
回答量:37
采纳率:0%
帮助的人:15.7万
展开全部
一。45*4-4(8)
二。(3) (5)
三。列的不会
追问
行的是怎么算的?
追答
第一行A01---A05;
第二行A11--A15;
第三行....大概注意下。。减去4就可以了、、
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式