这些是我正在编写的程序的内容,是否可以以某种方式找到最大值然后将其设置为int?稍后我的代码中的int不等于0.下面就是我想要的代码。
int Max = std::max(Face1,Face2, "and so on") << '\n';
#include <algorithm>
void RollDice() {
int Rolls = 0;
int Seed = 0;
int Random = 0;
int Face1 = 0;
int Face2 = 0;
int Face3 = 0;
int Face4 = 0;
int Face5 = 0;
int Face6 = 0;
感谢任何帮助表示赞赏。
答案 0 :(得分:1)
只需将std :: max与初始化列表一起使用(将所有变量放在{...}
之间):
#include <algorithm>
#include <iostream>
int main() {
int Face1 = 0;
int Face2 = 1;
int Face3 = 2;
int Face4 = 3;
int Face5 = 2;
int Face6 = 1;
std::cout << std::max({ Face1, Face2, Face3, Face4, Face5, Face6 }) << '\n';
}
另一种方法是使用数组(c-array,std :: array,std :: vector,...) - 许多充当数组的变量可能很麻烦 - 并使用std::max_element
(如前所述) @πάνταῥεῖ)。
答案 1 :(得分:1)
虽然可能有人认为最好有一个N面的数组来做到这一点,但是使用std :: max就像你要求你只需要将列表转换为初始化列表一样:
#include <iostream>
#include <algorithm>
int main() {
int Face1 = 10, Face2 = 5, Face3 = 8, Face4 = 20, Face5 = 21, Face6 = 9;
std::cout << std::max({ Face1, Face2, Face3, Face4, Face5, Face6 }) << "\n";
return 0;
}