作者cksh3300110 (Android愛好者)
看板Grad-ProbAsk
標題Re: [理工] [DS] 補習班考題計算Array
時間Fri Mar 16 20:20:29 2012
※ 引述《APE36 (PT鄉民)》之銘言:
: Let A be a two-dimensional array. The address of A[4][2] is 1978 and A[2][3]
: is 1986. Assume that each element of A occupies two bytes.
: (a)Find the address of A[3][8].
: (b)Find the number of rows of A.
: 以上今日的練習考題
: 出來題目 腦中一片空白!!
: 不知道有人可以提供我"完整解法"嗎??
: 感覺這好像很基礎~~但是我看講義好像也沒出的那麼細微呀@@
A[4][2] : 1978
A[2][3] : 1986
觀測出此為column major 且每個 element
2 bytes
設初始位址為x 且有 r 個row
列式
x + ( 2r + 4 ) x
2 = 1978 ....(1)
x + ( 3r + 2 ) x
2 = 1986 ....(2)
(2)-(1) 得 r = 6
代回(1) 得 x = 1946
求A[3][8]
x+ ( 8r + 3) * 2 = 2048
Ans: (1) 2048 (2) 6
________________________#
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.8.58
推 kuso0516:我還蠻討厭這種題目的 用C的寫法 可是矩陣卻從1開始... 03/16 20:28
→ APE36:樓上大大 如何得知矩陣從1開始 不是都從0開始比較多嗎?? 03/16 20:29
→ kuso0516:情況不多啦 不過有時候題目會出現a[10] 但卻是a[1]~a[10] 03/16 20:37
→ APE36:"觀測出此為column major" 原po觀測出??是每個題型都col嗎?? 03/16 20:38
→ kuso0516:然後a(10) 卻是a(0)~a(9)這種莫名奇妙的東西... 03/16 20:38
→ cksh3300110:你是說我怎麼看出 column major 03/16 21:34
→ cksh3300110:矩陣不一定從零開始 我是假設從x開始 03/16 21:36
→ cksh3300110:一個程式的初始位址可能從某個位址開始 03/16 21:39
→ cksh3300110:column major 是從"A[4][2]:1978 A[2][3]:1986" 得知 03/16 21:40
推 dunkjames:真詳細~ 03/18 00:04