繁体   English   中英

C ++:在2d向量的特定列中计数

[英]C++: Count in specific column of 2d vector

以下代码计算字符串“ CMO”在二维矢量数据的第n行中出现的次数

vector< vector<string> > dataIn ( nrows, vector<string> (ncolumns) );
int mycount = count(dataIn[n].begin(), dataIn[n].end(), "CMO");

现在,我想在第n栏中做同样的事情。 有人能帮我吗? 我知道,有几种方法可以通过使用if条件和循环来解决此问题。 但是,我的问题与InputIterators有关(首先是InputIterator,最后是InputIterator):

count (InputIterator first, InputIterator last, const T& val)

我如何设置InputIterators仅考虑第n列? 2d向量很大,这就是为什么我不想检查整个2d向量的原因。

似乎InputIterators没有这种解决方案。 因此,这是if条件和for循环的解决方案:

unsigned int c = 0;
for(auto vec : dataIn) {
  if(vec[n] == "CMO") {
    c += 1;
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM