2016-12-07 6 views
2

ベクトルの特定の整数の後ろを検索するための作業コードがあります。しかし、私が持っている問題は、整数が何回見つかったのかを出力で表示したいということです。 たとえば、ベクトルの値が{1,2,2,2,3,3,4,4}で、番号2を検索すると、出力は次のようになります。 '2はベクトルにあり、 3回!'。ここで は、これまでの私のコードです:特定の値のC++検索

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!"; 
+1

代わりに 'count'を使ってみてください。 – ABcDexter

+0

@KonradRudolphそうです、私は条件付き部分を見つけませんでした。 –

答えて

2

the code here in Ideoneを参照してください。

+1

あなたのコード[ここ](http://ideone.com/BBiBHF)を少し修正しました。私はなぜbits.hを使うのか分かりません。また、要素を検索してそれを数える必要もありません。ただそれを数えてください。 – Mads

+0

@Mads、[bits/stdC++。h](http://stackoverflow.com/questions/25311011/how-does-include-bits-stdc-h-work-in-c)は他の多くのベクトル、アルゴリズムなどのヘッダファイル。そして、OPによって元のコードを保存するために、私は検索部分を使用しました:) – ABcDexter

+1

@ABcDexter - そのヘッダは標準のC++ではありません。 –

0

次のコードを使用することができます:count

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

を使用してみてください

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"; 
関連する問題