2017-07-16 35 views
0

我有一個二維矢量字符串,並且要計算某個單詞重複的次數。例如:如何在二維矢量中使用計數

#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是的只有單個單詞。 – 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