C ++搜索特定值

时间:2016-12-07 09:07:56

标签: c++ vector

我有一个工作代码,用于搜索向量中的特定整数。但我遇到的问题是我希望输出显示如何找到整数的多倍。 例如,如果向量的值是{1,2,2,2,3,3,4,4}并且你搜索数字2,那么输出将是这样的,'2在向量中,3倍!”。 到目前为止,这是我的代码:

int searchNumber;
cout << "Enter a search number: ";
cin >> searchNumber;
bool found = find(randomIntegers.begin(), randomIntegers.end(),searchNumber) != randomIntegers.end();

if(found)
    cout << searchNumber << " is in the vector!";
else
    cout << searchNumber << " is NOT in the vector!";

2 个答案:

答案 0 :(得分:2)

尝试使用count

int ans = count(randomIntegers.begin(), randomIntegers.end(),searchNumber) ;

请参阅the code here in Ideone

答案 1 :(得分:0)

您可以使用以下代码:

int searchNumber;
cout << "Enter a search number: ";
cin >> searchNumber;
vector<int> randomIntegers = {1,2,2,2,3,3,4,4};
long found = count(randomIntegers.begin(), randomIntegers.end(), searchNumber);
cout << searchNumber << " is in the vector " << found << " times";