C++ vector(二维数组(初学者))(高悬赏)
各位前辈。程序我能独立的敲出来。但是我不太清楚这个数组里面的存储结构是什么样的。为什么我按照输出普通二维数组的输出方法输出的是一个旋转的矩阵?intmain(){vect...
各位前辈。程序我能独立的敲出来。但是我不太清楚这个数组里面的存储结构是什么样的。
为什么我按照输出普通二维数组的输出方法 输出的是一个旋转的矩阵?
int main()
{
vector < vector<int> > a;
vector <int> v1;
int i,j,m;
for(i=0;i<=3;i++)
{
a.push_back(v1);
}
for(j=0;j<=3;j++)
{
for(i=0;i<=3;i++)
{
cin>>m;
a[i].push_back(m);
}
}
cout<<"Size:"<<a.size()<<endl;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
/*麻烦前辈 帮忙解释一下这个二维数组的实现和普通的二维数组有什么区别,谢谢!*/
/*回答好的 有200财富送上*/ 展开
为什么我按照输出普通二维数组的输出方法 输出的是一个旋转的矩阵?
int main()
{
vector < vector<int> > a;
vector <int> v1;
int i,j,m;
for(i=0;i<=3;i++)
{
a.push_back(v1);
}
for(j=0;j<=3;j++)
{
for(i=0;i<=3;i++)
{
cin>>m;
a[i].push_back(m);
}
}
cout<<"Size:"<<a.size()<<endl;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
/*麻烦前辈 帮忙解释一下这个二维数组的实现和普通的二维数组有什么区别,谢谢!*/
/*回答好的 有200财富送上*/ 展开
2个回答
展开全部
int main()
{
vector < vector<int> > a; // a是向量类型的向量
vector <int> v1; // v1是int类型的向量
int i,j,m;
for(i=0;i<=3;i++) // a有4个元素
{
a.push_back(v1);// 每个元素是v1
}
for(j=0;j<=3;j++)
{
for(i=0;i<=3;i++)
{
cin>>m;
a[i].push_back(m); // a的第i个元素插入一个量
// 就是每个v1插入一个量
// a[0]插入,a[1]插入,a[2]插入,a[3]插入
// 如此循环四次,相当于按列的顺序插入
}
}
cout<<"Size:"<<a.size()<<endl;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
{
cout<<a[i][j]<<" "; // 输出a[0][0],a[0][1]a[0][2],a[0][3]
// 输出a[1][0],a[1][1]a[1][2],a[1][3]
// 如此第一个索引值循环4次,相当于按行的顺序输出
}
cout<<endl; // 输出一行就换行
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询