c++ - 矩阵中的嵌套 while 循环

标签 c++

bool Is (const vector<vector<int>> &m)
{

bool b = true;
int i=0, j=0;

while (i < m.size() && b==true)
{
    while (j < m[0].size() && b==true)
    {
        if (m[i][j] == 0)
        {
            b=false;
        }
        j++;
    }
    i++;
}
return b;
}

问题是,当 j 终止时,假设它变为 4,在执行 i 时它不会重置为 0。

最佳答案

为什么不在这里使用 for 循环?它们允许您指定一个初始化语句,以及将您的计数器增量逻辑直接绑定(bind)到循环:

for (i = 0; i < m.size() && b; ++i)
{
    for (j = 0; j < m[0].size() && b; ++j)
    {
        if (m[i][j] == 0)
        {
            b=false;
        }
    }
}

关于c++ - 矩阵中的嵌套 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21797909/

相关文章:

c++ - 在 C++11(或更高版本)中从字节数组反序列化对象的无未定义行为方式是什么?

c++ - MongoDB C++ 驱动程序

c++ - 是否建议在函数声明中给出变量名?

c++ - 为什么必须在哪里放置 “template”和 “typename”关键字?

c++ - 如何将运算符重载为成员函数

c++ - 使用 C++ 中的预定义变量发出 cURL GET 请求

c++ - 在 OSX 上从源构建 GIMP 2.10 在 "gimp-debug-tool-2.0"上失败

c++ - 如何用其他文件编译fltk文件?

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

c++ - 避免或改进暴力破解方法 : Counting character repetition from all words in a dictionary text file