【发布时间】:2015-05-21 04:07:40
【问题描述】:
对于如何编写一些代码来检查二维数组中的任何位置是否包含某个变量,我有点困惑。
想象一个 8x8 的二维数组,每个元素的值都是 -1、0 或 1。只有在数组中同时找到 -1 和 1 时,我才想继续运行代码。
我的问题是我只知道如何遍历整个数组,以便我可以获取最后一个元素的值并测试它是 -1 还是 1,而不是测试是否 any 的数组元素是 1 或 -1。
我希望下面的代码说明了我正在尝试做的事情。谢谢。
for(int x=0; x<8; x++)
{
for(int y=0; y<8; y++)
{
if(array[x][y] == 1)
{
stop checking
oneExists = true;
}
if(array[x][y] == -1)
{
stop checking
minusoneExists = true;
}
else
{
oneExists = false;
minusoneExists = false;
}
}
if(oneExists==true & minusoneExists==true)
{
return true;
}
else
{
return false;
}
}
【问题讨论】:
-
使用
break语句退出for循环。 -
我想到了,但是如果我在前两个 if 语句中的任何一个中放了 break,它只会退出那些而不是 for 循环,但是如果我把它放在前两个 for 循环中,它们会在第一个元素上退出。有没有办法做到这一点,我错过了?
-
所以我猜你需要某种 (bool) 标志变量来指示何时必须退出两个
for循环。