如何用C++向量vector生成二维数组呢?请看如下程序:
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main()
{
int i,
j,
m, //行数
n; //列数
cout << "input value for m,n:" ;
cin>>m>> n;
//注意下面这一行:vector<int后两个">"之间要有空格!否则会被认为是重载">>"。
vector<vector<int> >* p;
vector<vector<int> > vecInt(m, vector<int> (n));
for (i = 0; i < m; i++ )
for (j = 0; j < n; j++ )
vecInt[i][j] = i* j;
for (i = 0; i < m; i++ )
{
for (j = 0; j < n; j++ )
cout<<setw(5)<<vecInt[i][j]<<":"<<setw(9)<<& vecInt[i][j];
cout<< endl;
}
return 0 ;
}
#include <vector>
#include <iomanip>
using namespace std;
int main()
{
int i,
j,
m, //行数
n; //列数
cout << "input value for m,n:" ;
cin>>m>> n;
//注意下面这一行:vector<int后两个">"之间要有空格!否则会被认为是重载">>"。
vector<vector<int> >* p;
vector<vector<int> > vecInt(m, vector<int> (n));
for (i = 0; i < m; i++ )
for (j = 0; j < n; j++ )
vecInt[i][j] = i* j;
for (i = 0; i < m; i++ )
{
for (j = 0; j < n; j++ )
cout<<setw(5)<<vecInt[i][j]<<":"<<setw(9)<<& vecInt[i][j];
cout<< endl;
}
return 0 ;
}
运行结果:
input value for m,n:3 5
0: 00366710 0: 00366714 0: 00366718 0: 0036671C 0: 00366720
0: 00366750 1: 00366754 2: 00366758 3: 0036675C 4: 00366760
0: 00366790 2: 00366794 4: 00366798 6: 0036679C 8: 003667A0
0: 00366710 0: 00366714 0: 00366718 0: 0036671C 0: 00366720
0: 00366750 1: 00366754 2: 00366758 3: 0036675C 4: 00366760
0: 00366790 2: 00366794 4: 00366798 6: 0036679C 8: 003667A0
欢迎大家给予评论...