2013-10-11 35 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)