0

这是此答案的后续问题。我正在尝试构建一个循环,该循环产生一组三个随机数,直到它们匹配一组特定的预定义的三个任意选择的数字。

我仍在试图弄清楚程序使用哪些运算符以任何顺序接受随机数但没有任何结果。

我试过你的

!(first==one && second==two && third==three)

但它似乎在 c++ 中不起作用。感谢您的回答。

4

1 回答 1

2

您尝试的条件意味着first,和与,secondthird具有相同的特定顺序。您可以尝试所有六种排列方式,但这会导致程序难以阅读。更好的解决方案是将值添加到向量,对它们进行排序,然后比较是否相等,如下所示:onetwothree

vector<int> a;
a.push_back(first);
a.push_back(second);
a.push_back(third);
vector<int> b;
b.push_back(one);
b.push_back(two);
b.push_back(three);
sort(a.begin(), a.end());
sort(b.begin(), b.end());
if (a == b) ... // values match

这是ideone 上此片段的链接

于 2012-08-29T16:42:07.947 回答