這是this answer的後續問題。我試圖建立一個循環,產生一組三個隨機數,直到它們匹配一個特定的三個任意選擇的數字的預定義集合。括號前的否定
我仍然試圖找出程序使用什麼操作符接受任意順序的隨機數,但沒有任何結果。
我想你
!(first==one && second==two && third==three)
,但它似乎並沒有在C++工作。感謝您的回答。
這是this answer的後續問題。我試圖建立一個循環,產生一組三個隨機數,直到它們匹配一個特定的三個任意選擇的數字的預定義集合。括號前的否定
我仍然試圖找出程序使用什麼操作符接受任意順序的隨機數,但沒有任何結果。
我想你
!(first==one && second==two && third==three)
,但它似乎並沒有在C++工作。感謝您的回答。
你嘗試的條件意味着first
,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
謝謝。我認爲這樣做。從評論中我收集到,也許我沒有把我的想法弄清楚。一旦我開始運行,我會更充分地解釋它。 Thx再次。 – user1627930
我很困惑你到底在做什麼。如果你問了一個以前的問題,鏈接會很好,所以人們可以獲得一些背景信息。 – chris
我想你可能打算評論[這裏的答案之一](http://stackoverflow.com/questions/12157137/c-random-numbers-logical-operator-wierd-outcome)。 – Ryan
我不確定這裏的問題是什麼? –