[問題] for loop 每幾次就執行

作者: honyihon (lantis)   2014-10-14 13:55:50
開發平台(Platform): ubuntu codeblock
問題(Question):每到一定的count,
execfunction1() 會把 execfunction2()和execfunction3()產生的值丟出去
code中是每100筆丟過去一次,但是假如我要連 count%till_times 也就是
最後餘數的那些值也要傳過去,ex:總共304筆 每100筆丟過去遇到那剩下
4筆就丟不過去,應該怎樣改會比較洽當
程式碼(Code):
for (i = 0; i < array.size(); i++) {
for (j = 0; j < array2.size(); j++) {
till_times = 100;
if (count > till_times || count = 0) {
count = 0;
execfunction1();
}
if (count <= till_times) {
if (count < till_Times) {
execfuction2();
} else {
execfuction3();
}
count++
}
}
}
作者: xpop777 (Archie)   2014-10-14 14:57:00
是指 100筆 100筆 100筆 4筆 這樣丟出去嗎?在第二個迴圈跑完時,執行execfunction1();這樣以你的題目敘述,就會把剩餘產生的值丟出去了
作者: Williamxxx ( 2 1 4 8 3)   2014-10-14 15:18:00
if(count==array.size()*array2.size())execfunction1();
作者: honyihon (lantis)   2014-10-14 15:32:00
對100,100,100,4會乎略掉那4筆資料,按照code的話第二迴圈跑完再加上,會造成前面每100次多執行一次
作者: Williamxxx ( 2 1 4 8 3)   2014-10-14 15:52:00
每跑一筆就檢查count是不是到要算次數到了就execfunction1();
作者: sdcjimmy (jimmy)   2014-10-17 02:49:00
不過原po寫法count會歸零 所以count應該不會到304可以if(count% 100 == 0 && count == array.size()* array2.suze()) 時execfunction1, 然後不要歸零
作者: bluesoul (忙死你老爸)   2014-10-18 22:20:00
離開迴圈後再丟最後四筆

Links booklink

Contact Us: admin [ a t ] ucptt.com