C++ 程序无法显示从第二次迭代开始的输出 for(int i=0;i

C++ 程序无法显示从第二次迭代开始的输出 for(int i=0;i,c++,C++,您在内部循环中的内部测试: for(int i=0;i<T;i++) // t test cases { int flag=0; //flag variable to check the output char A[3][3]; for(int j=0;j<3;j++) //Taking for(int k=0;k<3;k++) //Input cin>>A[j]

您在内部循环中的内部测试:

for(int i=0;i<T;i++)   // t test cases
{
    int flag=0;        //flag variable to check the output
    char A[3][3];

    for(int j=0;j<3;j++)        //Taking
        for(int k=0;k<3;k++)     //Input
           cin>>A[j][k];          //in a character Array

    //checking for letter 'l' in the character array and if other l's  also exist or not

    for(int j=0;j<2;j++)
      for(int k=0;k<2;k++)
    {
        if(A[j][k]=='l')
        {
            if(A[j+1][k]=='l' && A[j+1][k+1]=='l')
                flag++;
        }
    }

     if(flag>0)
            cout<<"yes"<<endl;
}

return 0;
我想应该是这样

if(A[j+1][k]=='l' && A[j+1][k+1]=='l')
   flag++;

正如您在这里看到的,它工作正常:onlinegdb.com/r1VCS-FxN

当它失败时,你看不到结果,因为你没有“不”的理由

链接中的代码,以防它停止工作:

if(A[j+1][k]=='l' || A[j+1][k+1]=='l')
    flag++;
#包括
使用名称空间std;
int main(){
常数int T=3;

我能不能认为这个逻辑是正确的,因为我需要同时检查相邻单元格的值,并且它们需要满足相同的条件。如果我理解正确,他希望“l”在“l”中模式,所以他的逻辑将是正确的是的,这是正确的。没有编译错误。但是从第二次迭代开始,没有显示任何输出。很抱歉,我没有完全理解他希望他的程序做什么!你确定这不起作用吗?我只是复制并粘贴了它,似乎对我来说很好。你可以在上面测试它:是的,我发现了w错了,谢谢!!我忘了写其他部分了。
#include <iostream>
using namespace std;

int main() {
    const int T = 3;
    cout << "T: " << T << endl;

    for(int i=0;i<T;i++)   // t test cases
    {
        int flag=0;        //flag variable to check the output
        char A[3][3];

        for(int j=0;j<3;j++)        //Taking
            for(int k=0;k<3;k++)     //Input
                cin>>A[j][k];          //in a character Array

        //checking for letter 'l' in the character array and if other l's  also exist or not

        for(int j=0;j<2;j++)
            for(int k=0;k<2;k++) {
                if(A[j][k]=='l') {
                    if(A[j+1][k]=='l' && A[j+1][k+1]=='l')
                        flag++;
                }
            }
        cout << "Flags: " << flag << endl;

        if(flag>0)
            cout<<"yes"<<endl;
        else
            cout << "nope" << endl;
    }
    return 0;
}