У меня есть фрагмент кода, где на всю жизнь я не могу понять, почему цикл проскакивает после первого прогона.C++ Loop Skips после первого запуска
if (*itr2 != 0)
{
int s = *itr2;
//cout << s << endl;
k = k + s;
cout << "X: " << x << " K: " << k << " S: " << s << endl;
for (int i = x; i < s; i++)
{
cout << "test" << endl;
string value = allSub[i];
cout << value << endl;
vector<string>::iterator it2;
vector<string>::iterator it3;
it2 = find(subCode.begin(), subCode.end(), value);
int pos = distance (subCode.begin(), it2);
adMatrix [pos][pos] ++;
for (int v = 0; v < i; v++)
{
string value2 = allSub[v];
cout << "does it run: " << value2 << endl;
it3 = find(subCode.begin(), subCode.end(), value2);
int pos2 = distance (subCode.begin(), it3);
adMatrix [pos][pos2] ++;
adMatrix [pos2][pos] ++;
}
x = i;
}
x++;
}
Предполагая, что x и k были первоначально инициализированы как 0. Выходной сигнал выглядит следующим образом:
X: 0 K: 4 S: 4
test
CSCI203
test
CSCI235
does it run: CSCI203
test
CSCI222
does it run: CSCI203
does it run: CSCI235
test
CSCI205
does it run: CSCI203
does it run: CSCI235
does it run: CSCI222
X: 4 K: 7 S: 3
X: 5 K: 11 S: 4
X: 6 K: 13 S: 2
X: 7 K: 17 S: 4
Почему значения после x = 4 не проходят через цикл for?
Отладчик очень помогает в проверке таких проблем. –
Что такое 'i
Bathsheba