цикл пропускает все остальные строки?

Хм, мой цикл пропускает все остальные строки, я сравниваю эти 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++;

}

-1

Решение

Вы увеличиваете 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

}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]