第1个回答 2017-07-08
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(int argc, char **argv)
{
//动态分配二维数组空间
//动态定义和初始化二维数组 部分代码
int row, col;
int i, j;
cout << "输入二维数组的行,列 :";
cin >> row >> col;
int **p2;
p2 = new int*[row];
for (i = 0; i < row; i++)
p2[i] = new int[col];
//输入二维数组的值
for (i = 0; i < row; i++)
for (j = 0; j < col; j++)
{
p2[i][j] = ((i % (row-1)) && (j % (col-1)))?2:1;
}
//输出二维数组
cout << "输出二位数组:" << endl;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
cout << p2[i][j] << ' ';
cout << endl;
}
//释放二维数组
for (i = 0; i < row; i++)
delete[]p2[i];
delete[]p2;
cin >> i;
}
第2个回答 2017-08-18
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int M, N;
cin >> M >> N;
vector<vector<int>> A(M);
for (auto i = 0; i!=M; i++)
{
A[i].resize(N);
}
system("pause");
return 0;
}
第3个回答 2019-06-28
1234567891011121314151617181920212223242526272829303132333435363738394041424344#include <iostream> using namespace std;int main(int argc, char** argv) { int n,m; cout<<"输入行数:"; cin>>n; cout<<"输入列数:"; cin>>m; int** s=new int*[n]; //动态定义二维数组 for(int i=0;i<n;i++) { s[i]=new int[m]; } for(int i=0;i<n;i++) //赋值 { for(int j=0;j<m;j++) { if(i==0 || i==n-1 || j==0 || j==m-1) { s[i][j]=1; } else { s[i][j]=2; } } } for(int i=0;i<n;i++) //输出 { printf("\n"); for(int j=0;j<m;j++) { printf("%d ",s[i][j]); } } for(int i=0;i<n;i++) //释放二维数组 { delete[] s[i]; } delete[] s; return 0;}