首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
设有数组A[i,j],数组的每个元素长度为3字节,i的值为1
[单选题]
设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为()。
BA+180
BA+225
BA+222
BA+141
查看答案及解析
添加笔记
求解答(34)
邀请回答
收藏(1388)
分享
32个回答
添加回答
239
飞翔zhi梦
1
2
3
4
5
6
7
8
9
10
1
前
前
前
前
前
前
前
前
后
后
2
前
前
前
前
前
前
前
前
后
后
3
前
前
前
前
前
前
前
前
后
后
4
前
前
前
前
前
前
前
前
后
后
5
前
前
前
前
前
前
前
这里
后
后
6
前
前
前
前
前
前
前
后
后
后
7
前
前
前
前
前
前
前
后
后
后
8
前
前
前
前
前
前
前
后
后
后
计算
A[5,8]的地址就等于计算在
A[5,8]之前(“前”)保存的所有变量的地址偏移量
。
((7*8+5)-1)*3 = 180
发表于 2015-10-30 19:49:04
回复(34)
90
Aimer
让我来终结连错3道类似题的噩梦:
多加注意 i,j 的起始数值是从 1 开始的
Amn, m 对应行, n 对应列
行优先: Loc(aij) = Loc(a11) +[(i-1)*n + j-1 ]*sizeof(元素)
列优先: Loc(aij) = Loc(a11) + [(j-1)*m + i-1]*sizeof(元素)
这道题 m = 8 , n = 10 ; i = 5 , j = 8
列优先
Loc(aij) = BA + [(8-1)*8 + 5-1]*3 = BA + 180
编辑于 2015-11-21 13:43:09
回复(7)
24
牛客787908号
看题目是用以列为主存放,还是以行为主存放
本题目是按照以列为主存放的,那么计算方法如下:(8*7+5-1)*3=180
如果按照以行为主存放时,那么计算方法如下:(4*10+8-1)*3=141
发表于 2016-01-06 10:19:15
回复(0)
10
不吃葡萄皮
行优先:先放满第一行,再到下一行; 列优先:先放满第一列,再到下一列。
发表于 2015-12-06 10:19:33
回复(0)
9
Xugarman
数组A[ij],求元素A[mn]位置
当
i,j初始为1时
行优先:LOC(A[1][1]) + ((i - 1) * n + (j - 1))
列优先:LOC(A[1][1]) + ((j - 1) *m + (i - 1))
当
i,j初始为0时
行优先:LOC(A[0][0]) + (i * n + j)
列优先:LOC(A[0][0]) + (j * m + i)
最后如果有元素长度,再乘上去
编辑于 2020-06-01 16:03:51
回复(0)
7
李思考考考考
(7*8+5-1)*3 +BA
发表于 2015-10-30 19:43:56
回复(1)
5
牛客945660号
一行占3*8=24个字节
第a[0,y] 占(y-1)*24个字节
a[x,y] 占(y-1)*24 + (x-1)*3
a[5,8] = (8-1)*24 + (5-1)*3 = 180
发表于 2016-03-22 15:21:32
回复(0)
5
焦小米
以列主存,第一个元素的存储首地址+ ( 数组行数*(所在行数-1)+所在列-1 )个 每元素所占存储单元数 就是某元素的存储首地址
发表于 2015-11-05 09:14:37
回复(0)
3
逆流_jam
注意1<=i<=8,1<=j<=10,说明有8行10列,从1开始计数;
以列为主存放,说明内存中按行展开排列进行存储;
那么a[5,8]对应的就是第8行5列的元素,即7*8+5=61
内存地址 = BA + (61 -1) * 3 = BA + 180
发表于 2022-04-23 15:17:57
回复(0)
3
Chenny_Boy
没注意到是以列存放的。。。可恶!
发表于 2015-10-31 16:40:38
回复(0)
2
名字是谷雨
前面有道同样的数据以行和优先,直接秒选了这道。。结果。
发表于 2019-10-26 16:23:51
回复(0)
2
奔跑de小豬
做这类题目要注意区分,初始是从[0,0]开始的,还是[1,1]开始的
发表于 2016-09-26 10:52:59
回复(1)
1
SINKLE
细心
发表于 2022-08-22 08:54:44
回复(0)
1
人心。
做这个题首先要先看清楚题目是按列存储的哟,不然很容易做错,7*8+5-1=60,60*3=180,答案就出来了。
发表于 2019-10-26 16:03:56
回复(0)
1
一只会飞的企鹅
需要注意是按行存储,还是按列存储
发表于 2018-06-05 11:44:11
回复(0)
1
CooperNiu
这个题最主要的是注意到以列为主序
发表于 2017-05-09 15:36:10
回复(0)
0
向海娅
此题是以列为主存放A[10,12] A[m][n]--->A[k][b] 列:((b-n)*10+(k-m))*字节数 [列数差*行个数+行差数]--数组间隔数 行: [行差数*列个数+列差数]--数组间隔数
编辑于 2024-04-05 16:24:16
回复(0)
0
lanker
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序列为主序列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序列为主序列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序列为主序列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序列为主序列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序列为主序列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序列为主序列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序
列为主序列为主序列为主序
发表于 2023-04-30 21:00:31
回复(1)
0
Cpp_Fat_Tiger
解析如我,越短越好:
以列为主存放就等价于10行8列的8行5列位置位置,只不过矩阵反转了90度,算的时候(
7*8+4
)*3=60
发表于 2022-08-28 21:30:48
回复(0)
0
还没想好名字那
记得偏移量
发表于 2022-03-23 17:29:48
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数组
来自:
爱奇艺2016研发工程...
上传者:
SunburstRun
难度:
32条回答
1388收藏
21090浏览
热门推荐
相关试题
输入序列是ABC,输出序列变为BC...
栈
评论
(12)
来自
爱奇艺2016研发工程师...
已知关键字序列5,8,12,19,...
堆
评论
(26)
来自
爱奇艺2016研发工程师...
编程题 ,按照要求创建Java 应...
Java
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题