gpt4 book ai didi

c++ - Bulls & Cows 项目 : cow checking

转载 作者:行者123 更新时间:2023-11-30 05:43:17 30 4
gpt4 key购买 nike

我几乎完成了我的 Bulls and Cows 项目,但是如果我输入一个单词或一系列重复字母或数字的数字,代码的“cow”部分就会出错。例如:考虑以下内容

Enter something that you want someone to guess: cool

Time to guess! The code is of size 4. book

COWS: 0 BULLS: 2

ozzo

COWS: 4 BULLS: 0

可以看到,输入“ozzo”后,牛的值应该是2,而不是4。如何在不更改整个代码的情况下解决此问题?

for (size_t i = 0; i != startg.getSize(); ++i){
if (guess[i] == origWord[i]){
bullCtr++;
} else {
for (size_t j = 0; j != startg.getSize(); ++j){
if (origWord[i] == guess[j]){
cowCtr++;
}
}
}
}

应用修复后的代码:

for (size_t i = 0; i != startg.getSize(); ++i){
if (guess[i] == origWord[i]){
bullCtr++;
} else {
for (size_t j = 0; j != startg.getSize(); ++j){
if (origWord[i] == guess[j]){
origWord[i] = 'X';
cowCtr++;
}
}
}
origWord = origWordcpy;
}

最佳答案

你的奶牛检查有问题。

为了方便起见(不完全是)我会这样做(我只是在谈论 else 语句):

for(unsigned int j = 0 ; j != startg.getSize() ; j++)
{
if(origWord[i] == guess[j])
{
origWord[i] = 1; //Just assigning a certain value there to mark that we've already did something with it
cowCtr++;
}
}

这应该可以完成工作。

编辑:

你显然应该有一个临时字符串而不是 origWord 因为改变它会影响外循环的下一次迭代(得到猜测并再次比较)——我只是给你展示了方法。

关于c++ - Bulls & Cows 项目 : cow checking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30280309/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com