2012-12-15 67 views
-1

嗯,我的循環跳過其他每一行,我比較這5 15 16 17 ...這17 37 5 ...並試圖找到數字匹配時。我不確定它爲什麼跳過一條線。循環每隔一行跳過一次?

for(int j=0;j<fileMaxLines;j++){ 

     for(int k=0;k<fileMaxLines;k++){ 
      //cout <<"   " <<EInfo[j].idSE <<endl; 
      if(EInfo[j].idSE == ETran[k].idIV){ 
       temphours = ETran[k].numbOfHoursIV; 

       cout <<EInfo[j].idSE << " -->" << ETran[k].idIV; 
       cout << "right"<<endl; 
       k=fileMaxLines; 
       break; 
      } 
      else{ 
       //cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
      } 
      cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
     } 
     EInfo[j].numbOfHoursSE = temphours; 
      j++; 

     } 

回答

4

你增加j兩次:

for(int j=0;j<fileMaxLines;j++){ // here 

    for(int k=0;k<fileMaxLines;k++){ 
     //cout <<"   " <<EInfo[j].idSE <<endl; 
     if(EInfo[j].idSE == ETran[k].idIV){ 
      temphours = ETran[k].numbOfHoursIV; 

      cout <<EInfo[j].idSE << " -->" << ETran[k].idIV; 
      cout << "right"<<endl; 
      k=fileMaxLines; 
      break; 
     } 
     else{ 
      //cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
     } 
     cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
    } 
    EInfo[j].numbOfHoursSE = temphours; 
     j++; // and here 

    } 
+0

咄哦,謝謝。 – user1771489