これは、この回答に対するフォローアップの質問です。任意に選択された 3 つの数値の特定の定義済みセットに一致するまで、3 つの乱数のセットを生成するループを構築しようとしています。
私はまだ、プログラムが乱数を任意の順序で受け入れるために使用する演算子を見つけようとしていますが、結果はありません。
私はあなたにしようとしました
!(first==one && second==two && third==three)
しかし、C ++では機能しないようです。ご回答有難うございます。
これは、この回答に対するフォローアップの質問です。任意に選択された 3 つの数値の特定の定義済みセットに一致するまで、3 つの乱数のセットを生成するループを構築しようとしています。
私はまだ、プログラムが乱数を任意の順序で受け入れるために使用する演算子を見つけようとしていますが、結果はありません。
私はあなたにしようとしました
!(first==one && second==two && third==three)
しかし、C ++では機能しないようです。ご回答有難うございます。
あなたが試した条件は、 、 、およびがfirst
、、およびと同じ特定の順序であることを意味します。6 つの順列すべてを試すこともできますが、それではかなり読みにくいプログラムになってしまいます。より良い解決策は、次のようにベクトルに値を追加し、それらを並べ替えてから、等しいかどうかを比較することです。second
third
one
two
three
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のこのスニペットへのリンクを次に示します。