PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] A陣列由B陣列內容指定加總
作者:
blu1121
(Big Brain)
2014-07-18 02:24:13
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
有兩個陣列,如圖http://i.imgur.com/kmGMMVe.png
假設陣列A大小:768x768(陣列內每一個元素是float型態)
陣列B大小:192x192(可以看做是將陣列A劃分4x4為一個block的陣列,所以是192x192
,B內的每個元素是隨機產生)
有什麼比較好的方法,讓陣列A的每一個block以陣列B的內容來決定並加總,
ex: 陣列B的"數字1"共有6個,也就是說陣列A會將這6個紅底的block(對應於陣列B屬於1
的值)相加,相加後還會是一個block。
補充說明(Supplement):
之前有寫過(用4層迴圈),但很沒有效率,所以當陣列A一變大,就會跑得更久
想來這邊詢問看看有沒有更好的idea :)
作者:
EdisonX
(卡卡獸)
2014-07-18 03:08:00
block相加指的是 for(i=0;i<16;++i) c[i] = a[i]+b[i] 嗎?然後陣列 A 的那 7 個紅底block相加後,都是放一樣的值??另外 B 內的元素是否已知範圍(最大、最小值) ??最後能否方便把你之前的4層回圈概述?免得 op...
作者:
pziyout
(pziyout)
2014-07-18 08:49:00
你的文字說 4x4 blocks,圖形畫成 5x5,然後又是 192x192
作者:
linotwo
(._.)
2014-07-18 08:49:00
加總後的值累加到sum[]裡
http://codepad.org/IHNx1hL2
by 的迴圈包 bx 可能會比較快,不過不影響結果...
作者:
pziyout
(pziyout)
2014-07-18 08:54:00
B 圖的 1 又對應到 A 圖的紅色部份,若 B 為 nxn,則 A 不是為 (nxn)x(nxn),實在看不懂?
作者:
blu1121
(Big Brain)
2014-07-18 14:15:00
圖已修正,謝謝提醒:)
作者:
pziyout
(pziyout)
2014-07-18 16:05:00
若 B 為nxn,且 B 的 1 為隨機產生,假設介於 [1,k] 之間若數字平均出現,則 1 出現次數為 n*n/k ,每個 1 對應一個 A 矩陣內的一個 nxn 小矩陣,複雜度為 n^4/k ,這要四個迴圈。但你的 B 為 192x192 ,A 不就是要 (192x192)x(192x192)怎會是 768x768,我想可能你寫錯了或我還沒清楚你的問題。
作者:
blu1121
(Big Brain)
2014-07-18 17:10:00
B是將A每16個為一組(=4x4),每組不重複,768/4=192B的內容是隨機,簡單化就是兩個for(i=0;i<192;i++)來隨機linotwo大,你的code相加後變成一個數,存在sum[],可能我沒說清楚,應該是block後相加後還是block
作者:
EdisonX
(卡卡獸)
2014-07-18 22:21:00
你可以把 sum 弄成 sum[10][4][4], 過程改不了多少.
作者:
linotwo
(._.)
2014-07-19 01:42:00
你可以把 Block 包裝起來
http://codepad.org/v7lqpKTP
Block 如何相加也可以自己定義,這樣就不須要向人說清楚
作者:
blu1121
(Big Brain)
2014-07-19 02:14:00
先謝謝linotwo熱心幫忙你的code第24行的&operator +=(const Block &other)可以請教它的意義嗎? 第一次看到這種寫法XD
作者:
linotwo
(._.)
2014-07-19 02:20:00
你可以查 operator overloading
作者:
blu1121
(Big Brain)
2014-07-19 02:20:00
或是它的意義有什麼keyword好讓我google :)ok! 謝謝
繼續閱讀
[問題] C的precision判斷
yuanchris1
[問題] opencv開視訊 記憶體飆升(續)
li4288
Re: [問題] 讀取實體記憶體內容
loveflames
[問題] 如何存取struct 成員變數
battle7
[問題] Turbo C和VC的obj檔 是否可以link在一起?
Blueshine
[問題]請問影片中是如何座標轉換?
archer123
[問題] remote desktop 問題
eshai
Re: [問題] 編碼or密碼學,達到資料回復
EdisonX
[問題] 編碼or密碼學,達到資料回復
ccoococo
[問題] OpenCV開兩個攝影機
s20394
Links
booklink
Contact Us: admin [ a t ] ucptt.com