0
string code[4] = {"G", "O", "B", "R"};
string colorPegs[6] = {"R", "B", "Y", "G", "O", "B"};
string userGuess;

    getline(cin,userGuess);

这些是我的问题中重要的代码行。

用户将输入 4 个字母,例如“BBYG”

如何创建一个 for 循环来检查用户输入的第一个字符和代码的第一个字符,并查看它是否匹配?

例如:

字符串代码是 GOBR

用户输入BBBR。在用户输入中,只有一个字母与代码匹配,即第三个 B,如何使用 for 循环检查?

4

2 回答 2

1

假设您想在相同位置找到匹配项,请尝试使用此代码:

for(int i = 0; i < code.length(); ++i)
{
    if(code[i] == user[i]) return true;    // Match found here.
}
return false;
于 2013-10-09T22:06:06.783 回答
0

尝试这个:

#include <algorithm>

int main()
{
    std::string code{"GOBR"};
    std::string input;

    std::cin >> input;

    auto match = [&] (char c)
    {
        return std::find(code.begin(), code.end(), c) != code.end();
    };

    if (std::any_of(input.begin(), input.end(), match))
    {
        // match
    }
}
于 2013-10-09T21:57:01.030 回答