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循环检查?
答案 0 :(得分:1)
尝试使用此代码,假设您希望在匹配时找到匹配项:
for(int i = 0; i < code.length(); ++i)
{
if(code[i] == user[i]) return true; // Match found here.
}
return false;
答案 1 :(得分: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
}
}