作者fonggo (锋哥)
看板TransCSI
标题[问题] 92中央资管1题
时间Thu Jul 3 23:39:50 2008
A(m,n)是一个二维整数阵列(integer array), 假设每一个整数只占一个byte, 而且A(3,2)
的位置为1110, A(2,3)的位置为1115, 试问下列哪一个是错误的 ?
(A) A(1,4)的位置为1120.
(B) m=6
(C) A(2,2)的位置为1114.
(D) n的大小无法得知
我的算法是这样的:
A(0,0) + 2(m+1) + 3 = 1110
A(0,0) + 3(m+1) + 3 = 1115
所以 m = 5, A(0,0) = 1095
但是我不确定是否可以假设第一个值是在A(0,0)上
因为题目也没说, 算出来答案刚好也对
不过还是觉得怪怪的, 可以这样直接指定从(0,0)开始吗?
谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.192.230.204
1F:推 forris:阵列预设第一个值就是 (0,0) 07/04 00:02
2F:→ fonggo:喔~我知道了,谢谢! 07/04 00:42
3F:推 nimura14:你题目有打错吗?怎麽怪怪的 07/04 18:37
4F:→ nimura14:在C和C++里阵列的第一列第一行是(0.0)没错,可是我觉的提 07/04 18:39
5F:→ nimura14:目怪怪的@_@ 07/04 18:39
6F:推 nimura14:为什麽A(2.3)会比A(3.2)大啊 07/04 18:48
7F:推 future1234:这关系到row-major跟column-major ,所以会这样~ 07/04 19:04
8F:推 nimura14:所以这题目是column-major,以行为主次序罗? 07/04 19:20
9F:→ nimura14:如果碰到没有特别注明的题目怎办?! 07/04 19:20
10F:推 nimura14:麻烦请问一下楼上F大,如过这题是C语言中column-major的阵 07/04 19:58
11F:→ nimura14:列的话,答案是(C)吗?行数是6行的话,要表示成A(6.n)还是 07/04 20:00
12F:→ nimura14:上面打错@_@,是列数=6,那要表示成A(6,n)还是A(5,n)啊? 07/04 20:02
13F:→ nimura14:我觉的答案是C耶!因为column-major的话算出来(2.2)是在 07/04 20:03
14F:→ nimura14:1109说! 07/04 20:03
15F:推 future1234:同学,跟你说 ,我会选C....就降 07/04 20:28
16F:推 nimura14:感谢future1234!! 真神人也! 07/04 22:11
17F:推 future1234:........ 07/04 22:21
18F:推 nimura14:只是想跟你说声谢谢而已,呵~好像夸张过头了 07/05 07:54