2013-10-11 38 views
2

我希望for循環的每次第二次運行都能完成。有沒有很好的方法來做到這一點,而不使用噸線?用於交替for循環的C++通用解決方案

雖然我們在這,但我更喜歡一個通用的「技巧」,所以每三四次做一些事情也是可能的?

例子:

for(int i = 0; i < 10; i++) 
{ 
    do something; 

    if(i == odd number) 
    { 
     do something every alternating time; 
    } 
} 

希望能對你有所幫助。 乾杯。

+0

這是一個解決方案。另一個是展開循環,並使用'i + = 2'來增加。 –

回答

4

開始做一些事情每第n個時間:

if (i % n == 0) … 

注意,這將觸發第一個,第n + 1次時, 2n + 1次等迭代。如果要觸發的第n個,第2n等,這樣做:

if (i % n == n - 1) … 
2
if (i % 2) 

對於奇數i爲真,否則爲false。如果你願意,你可以用1明確比較:

if (i % 2 == 1) 

做一些n時間是相似的。例如,每4倍,從1

if (i % 4 == 1)