【问题标题】:C++ Find if integer exits in a column of a matrixC ++查找矩阵的列中是否存在整数
【发布时间】:2014-09-11 19:29:20
【问题描述】:

如果我有

int x = 5

米= | 3 4 5 | | 5 2 1 | | 5 6 2 |

如何检查特定列是否包含 x?所以当我检查第二列时我会出错。如果我检查第一列或第三列,我会得到真实的。 在 MATLab 我会写,

如果找到(M(:,2)==x)>1 显示('真') 别的 显示('假') 结尾

检查 x 是否在第二列。 我想知道c++中是否有类似的方法。

谢谢

【问题讨论】:

  • C++ 在哪里?
  • 我更熟悉 Matlab 我会写: if find(M(:,2)==5)>0 disp('true') else disp('false') end 但是,我没有看到在 C++ 中处理特定列或行的简单方法。

标签: c++ matrix


【解决方案1】:

试一试。

bool colContains(const std::vector<std::vector<int> > &matrix, int x, int col) {
    for(int y = 0; y < matrix.size(); y++) {
        if(matrix[y].size() < col) continue; //Make sure we don't go out of bounds
        if(matrix[y][col] == x) return true;
    }
    return false;
}

【讨论】:

  • 如果您甚至不知道他使用哪种数据结构作为矩阵,您如何提出解决方案?
  • @JaviV 通过给他一些示例代码来展示一般算法。例如,切换到 STL 列表实现只需使用迭代器而不是计数器。
  • @Josh 感谢您给出答案,尽管我的问题很糟糕。我设法继续使用您的答案。
猜你喜欢
  • 1970-01-01
  • 2011-04-24
  • 2014-03-04
  • 1970-01-01
  • 2012-10-11
  • 2020-07-03
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多