【问题标题】:How to use Count in 2D Vector如何在二维向量中使用计数
【发布时间】:2017-07-16 11:11:28
【问题描述】:

我有一个二维字符串向量,想计算某个单词重复了多少次。例如:

#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" );
}

但是上面给出了错误。我该怎么做?

【问题讨论】:

  • 您必须遍历外部向量才能获得内部向量。然后你必须遍历内部向量来计算字符串中的“特定单词”。
  • 内部向量是否已经包含单个单词,还是包含多个单词的字符串?
  • @user0042 是的,只有单个单词。
  • @mhm 那么你在下面找到正确答案。

标签: c++ algorithm vector count


【解决方案1】:

您需要对搜索单个向量运行计数并对结果求和:

#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" );
    }
}

【讨论】:

  • 您忘记更新count 呼叫。而且它不计算 strings. 中的单词
  • 它工作了.. 必须将 vec.begin() ... 更改为 v.begin()... 非常感谢先生。
猜你喜欢
  • 2014-04-03
  • 1970-01-01
  • 2010-09-19
  • 1970-01-01
  • 2022-11-20
  • 1970-01-01
  • 1970-01-01
  • 2020-11-27
  • 2012-10-21
相关资源
最近更新 更多