2012-02-26 15 views
0

私はアルゴリズムを書いており、その中にdo-whileループがあります。私はGAPが十分に小さいか、または反復回数が1000を超えるまで、そのループに入りたいと思います。しかし、100回反復して終了しません。ここでは、コードは次のようになります。C++でdo-whileループに/または条件を持たせる方法

int iteration=1; 
double UB=0; 
double LB=0; 
double GAP=1; 

do 
{... 
    GAP=abs((UB-LB)/LB); 
    iteration++; 
}while(GAP>=0.05 || iteration<=1000); 

答えて

2

にあなたはロジックを少し逃した;)

をあなたが(conditionAまたはconditionB)場合、ループが終了したい場合は、それはあなたが(conditionAとconditionB場合はループを継続することを意味し)。言い換えれば

、あなたは

while(GAP>=0.05 && iteration<=1000) 
+0

+1を持つ必要があります。あるいは、「GAPが十分に小さいか、または反復数が1000を超えるまで、そのループに入りたい」と書くことができます(ギャップ> = 0.05 ||反復> 1000)。 – stinky472

4

おそらく&&の代わり||たい。 までこれらの式のうちが偽であるため、の両方がの場合は反復したいとします。

0

'||'を変更する必要があります。 「& &」

関連する問題