[問題] 一個程式設計的問題請教

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間16年前 (2009/06/01 13:51), 編輯推噓6(603)
留言9則, 5人參與, 最新討論串1/1
大家好 我現在想寫一個東西 卻不知道怎麼設計比較好 以下是我遇到的問題 ===================== 我有128*128個亂數值 介於-1~1之間 我有(128*128)/5=3277 個箱子 想把這些亂數值 放到這些箱子裡面 所以我這些箱子的區間是 2/3277=0.0006 當我用for掃過這些亂數值時 我總不可能用3千多個if 去判別他是在哪個區間內吧? ex: if(interval1<noise<=interval2) bucket[1].push_back(noise) ....................三千多個 我想不到什麼好方法可以解決這看似簡單的問題@@ 請教各位如果是你們會怎麼設計呢 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.187

06/01 14:03, , 1F
floor( (x - (-1))/2 * 3276 )
06/01 14:03, 1F

06/01 14:18, , 2F
看不懂樓上orz; box[floor((num-(-2))/0.0006)]=num;?
06/01 14:18, 2F

06/01 14:21, , 3F
請教一下box是???
06/01 14:21, 3F

06/01 14:23, , 4F
抱歉有個數值錯了(num-(-1))
06/01 14:23, 4F

06/01 14:25, , 5F
box是你原文說的箱子啊,呵
06/01 14:25, 5F

06/01 14:27, , 6F
你畫個圖不就很清楚...
06/01 14:27, 6F

06/01 14:32, , 7F
唔..但有個BUG就是2/0.0006!=3277..
06/01 14:32, 7F

06/01 14:41, , 8F
應該像一樓一樣代換成2/3277後來看出來了是約分之後結果
06/01 14:41, 8F

06/01 14:43, , 9F
抱歉那不叫約分orz
06/01 14:43, 9F
文章代碼(AID): #1A8snasv (C_and_CPP)
文章代碼(AID): #1A8snasv (C_and_CPP)