首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从2d向量存储向量C++中的对值

从2d向量存储向量C++中的对值
EN

Stack Overflow用户
提问于 2020-08-11 19:49:14
回答 3查看 963关注 0票数 0

我得到了二维向量(A)。我需要存储包含元素0的向量的行和列索引的值。

这是我的密码-

代码语言:javascript
复制
vector<pair<int,int>>v;
   for(int i=0;i<A.size();i++){
       for(int j=0;j<A[i].size();j++){
           if(A[i][j]==0){
               v.push_back(make_pair(i.first,j.second));
           }
       }
   }

但我一直在犯这个错误

'__gnu_cxx::__alloc_traitsstd::allocator错误::向量>::value_type‘{aka 'class std::

’}没有名为‘’的成员

错误:'__gnu_cxx::__alloc_traitsstd::allocator::value_type‘{aka 'class std::vector'}没有名为'second'的成员

EN

回答 3

Stack Overflow用户

发布于 2020-08-11 19:51:24

ints没有名为firstsecond的成员。

要添加表示2D索引的对向量,只需:

代码语言:javascript
复制
if(A[i][j]==0) {
    v.push_back({i, j});
}
票数 0
EN

Stack Overflow用户

发布于 2020-08-12 04:19:55

在生成对时,只需将值输入到make_pair函数中。如果您想用(i,j)值做对,那么编写make_pair(i,j)。若要访问值,请使用firstsecond成员。

代码语言:javascript
复制
if(A[i][j] == 0){
   v.push_back(make_pair(i,j));
}

要访问这些值,需要编写v[i].firstv[i].second

票数 0
EN

Stack Overflow用户

发布于 2020-08-13 13:19:41

这应该能行

代码语言:javascript
复制
vector<pair<int,int>>v;
for(int i=0;i<A.size();i++){
   for(int j=0;j<A[i].size();j++){
       if(A[i][j]==0){
           v.push_back(make_pair(i,j));
       }
   }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63365400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档