Vector、ポインタの使い方について
以下のように出力したいのですが、うまくいきません。
宜しくお願い致します。
Example Output 1:
二つの種類の数字を1から10までで選択してください
入力)1 2
二つのフレーズが一致しません
最初のフレーズは "小島よしお"
Example Output 2:
二つの種類の数字を1から10選択してください
入力)4 9
あなたはペアを見つけました!
二つのフレーズは "田中夫妻"
//ここからコード
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<string> phrases;
phrases.push_back("足利義視");
phrases.push_back("小島よしお");
phrases.push_back("犬神家");
phrases.push_back("田中夫妻");
phrases.push_back("農村");
vector<string*> randomPhrases;
randomPhrases.push_back(&phrases.at(1));
randomPhrases.push_back(&phrases.at(4));
randomPhrases.push_back(&phrases.at(0));
randomPhrases.push_back(&phrases.at(3));
randomPhrases.push_back(&phrases.at(4));
randomPhrases.push_back(&phrases.at(2));
randomPhrases.push_back(&phrases.at(1));
randomPhrases.push_back(&phrases.at(2));
randomPhrases.push_back(&phrases.at(3));
randomPhrases.push_back(&phrases.at(0));
// Ask user to select two phrases
cout <<"二つの種類の数字を1から10までで選択してください"<< endl;
int x;
int y;
cin >> x;
cin >> y;
// Determine if the two selected phrases match (i.e. have the same memory address)
if(&phrases.at(x) == &phrases.at(y))
{
cout <<"あなたはペアを見つけました!" << endl;
cout << "二つのフレーズは" <<&phrases.at(x) << endl;
}
else
{
cout <<"二つのフレーズが一致しません" << endl;
cout << "最初のフレーズは" <<&phrases.at(x) << endl;
}
return 0;
}