一顿仨花卷 2021-12-04 22:01 采纳率: 33.3%
浏览 19
已结题

我的C++STL的二维数组为什么不能输出

#include
#include
using namespace std;

void print(deque<deque> d)
{
for(deque<deque>::iterator it=d.begin();it != d.end();it++)
{
for(deque::iterator vit=(*it).begin();vit != (*it).end();vit++)
{
cout <<*vit<< " ";
}
cout <<endl;
}
}
int main()
{
deque<deque> d;
for(int i=0;i<5;i++)
{
deque a;
d.push_back(a);
}
cout<<d.size();
for(int i=0;i<d.size();i++)
{
for(int j=0;j<10;j++)
{
int score =rand()%40+60;
d[i][j]=score;
}
}
print(d);
//
// for(int i=0;i<d.size();i++)
// {
// for(int j=0;j<10;j++)
// {
// cout<<d[i][j]<<" ";
// }
// cout<<endl;
// }

return 0;

}

```

  • 写回答

1条回答 默认 最新

  • 关注
    
    deque<deque>这么写不对,应该是
    deque< deque<int> >
    

    你这里d虽然跟二维数组效果一样,但是d不是二维数组,是容器。容器跟数组不是一回事。你的代码修改如下:

    #include <iostream>
    #include <deque>
    using namespace std;
    
    void print(deque<deque<int> > d)
    {
        for(deque<deque<int> >::iterator it=d.begin();it != d.end();it++)
        {
            for(deque<int>::iterator vit=(*it).begin();vit != (*it).end();vit++)
            {
                cout <<*vit<< " ";
            }
            cout <<endl;
        }
    }
    int main()
    {
        deque<deque<int> > d;
        for(int i=0;i<5;i++)
        {
            deque<int> a;
            for(int j=0;j<10;j++)
            {
                int score =rand()%40+60;
                a.push_back(score);
            }
            
    
            d.push_back(a);
        }
    
    
    
        cout<<d.size() << endl;
        /*for(int i=0;i<d.size();i++)
        {
            for(int j=0;j<10;j++)
            {
                int score =rand()%40+60;
                d[i][j]=score;
            }
        }*/
        print(d);
        //
        // for(int i=0;i<d.size();i++)
        // {
        // for(int j=0;j<10;j++)
        // {
        // cout<<d[i][j]<<" ";
        // }
        // cout<<endl;
        // }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 已采纳回答 12月5日
  • 创建了问题 12月4日