gpt4 book ai didi

c++ - 尝试使用数组 (Yahtzee) C++ 检查 3 种类型

转载 作者:行者123 更新时间:2023-11-28 01:57:08 26 4
gpt4 key购买 nike

我正在尝试检查保留的骰子掷骰(最多 5 个)是否是 3 个同类,因此我正在尝试将骰子掷骰值相互比较。

R的第一个值当然显示为0,但是代码运行后R的第二个值每次都显示为8191,我不太清楚为什么。

我也试过使用r++ 而不是 r += r+1,当然这并没有改变任何东西。

int r = 0;
cout << "first value of R is " << r << endl;
for(int t = 0; t < 5; t++) {
for(int w = 0; w < 5; w++) {
if(keptDice[t] == keptDice[w] ) {
r += r + 1;
}
}
}
cout << "Value of R is " << r << endl;

最佳答案

要点是,在第二个 for 循环中,你必须从 t (int w = t;...) 开始,否则你会将每个骰子与其本身进行比较,这自然是相等的。另外使用 r++ 而不是 r += r + 1 这绝对是错误的,但我认为这只是一个拼写错误。

int r = 0;
cout << "first value of R is " << r << endl;
for(int t = 0; t < 5; t++) {
for(int w = t; w < 5; w++) {
if(keptDice[t] == keptDice[w] ) {
r++;
}
}
}
cout << "Value of R is " << r << endl;

关于c++ - 尝试使用数组 (Yahtzee) C++ 检查 3 种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40774418/

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