Мне нужна ваша помощь по проблеме, которая, я думаю, очень проста, но я не могу найти что-то относительное или, возможно, я не использую правильные ключевые слова. Итак, вот оно.
У меня есть вектор с нулями и единицами, и я ищу способ обнаружить первую позицию с одной после 6 позиций с нулем. Для этого у меня есть цикл for для разбора вектора и if с 7 условиями для проверки текущей позиции и 6 мест перед этим. Мой код:
QVector<int> myV(300);
for (int i=0; i<100; i++){
myV[i]=0;
}
for (int i=100; i<120; i++){
myV[i]=1;
}
for (int i=120; i<300; i++){
myV[i]=0;
}
for (int i=0; i<myV.size(); i++)
{
if (myV[i]==1 && myV[i-1]==0 && myV[i-2]==0 && myV[i-3]==0 &&
myV[i-4]==0 && myV[i-5]==0 && myV[i-6]==0)
{
cout << i << " " << myV[i] <<endl;
}
}
Я почти уверен, что есть другой лучший способ сделать это, но я не могу думать о чем-то. Код находится в Qt / c ++.
Пожалуйста, любые идеи будут по достоинству оценены.
Заранее спасибо.