嗨,我试图在一个简单的一维数组中出现 1 后计算零的数量,我不知道为什么计数器总是为零。
int main ()
{
int testarray[9];
testarray[0] = 0;
testarray[1] = 0;
testarray[2] = 1;
testarray[3] = 1;
testarray[4] = 0;
testarray[5] = 0;
testarray[6] = 0;
testarray[7] = 1;
testarray[8] = 1;
int counter = 0;
bool white = false;
bool prevValue =true;
bool black = true;
bool check = false;
int num = 0;
for (int i = 0; i<8; i++) {
num = testarray[i];
if (num == 1)
white = true;
else
white = false;
if((white ==true) && (prevValue == false)) {
if(i == 0) {
check = true;
i++;
}
else
check = false;
}
else {
if (check)
counter++;
}
prevValue = true;
}
cout << "Counter: "<<counter;
return 0;
}
实际的实现涉及使用这个 for 循环来检测边缘。我试过弄乱变量,但无济于事。白色 = 1 和黑色 = 0 的原因是因为我正在使用这个循环来解决基于视觉的问题。任何帮助将不胜感激。