簡體   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