2017-07-16 6 views
0

私は文字列の2Dベクトルを持ち、特定の単語が何回繰り返されたかを数えたいと思います。例:2Dベクトルでカウントを使用する方法

#include <vector> 
#include <string> 
#include <algorithm> 
using namespace std; 

int main() 
{ 
    vector< vector<string> > vec(4, vector<string>(4, "word")); 
    count(vec.begin(), vec.end(), "certain word"); 
} 

ただし、上記のエラーが発生します。これどうやってするの?

+0

あなたは、内側のベクトルを取得するために、外側のベクトルを反復しなければなりません。次に、文字列の "特定の単語"を数えるために内側のベクトルを反復処理する必要があります。 –

+0

内部ベクトルにはすでに単一の単語、または複数の単語からなる文字列が含まれていますか? – user0042

+0

@ user0042はい、ただ1語です。 – mhm

答えて

2

あなたは、検索、個々のベクトルにカウントし、その結果を合計実行する必要があります。

#include <vector> 
#include <string> 
#include <algorithm> 
using namespace std; 

int main() 
{ 
    vector< vector<string> > vec(4, vector<string>(4, "string of words")); 
    size_t sum = 0; 
    for(auto& v: vec) { 
     sum += count(v.begin(), v.end(), "certain word"); 
    } 
} 
+2

あなたは 'count'呼び出しを更新するのを忘れました。そして、*文字列の中の単語は数えられません。 –

+0

これはコンパイルされていません(コードをコピー/ペーストしました):https://pastebin.com/6mMHjm9n – mhm

+0

vec.begin()をv.begin()に変更していました...ありがとうロット – mhm

関連する問題