C++中,能不能根据输入的m,n值的大小,动态地建立一个二维数组A[m][n]?,可以的话,给个源代码实例。

 我来答
胡桃木璇vC
2012-07-08 · 超过49用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:122万
展开全部
能,示例程序:
#include<iostream>
using namespace std;
int main()
{
int **ar;
int n,m;
int i=0,j=0;
cin>>n>>m;
ar=new int * [n];
for(i=0;i<n;i++)
ar[i]=new int[m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
ar[i][j]=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<ar[i][j];
cout<<endl;

}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友75dd747
2012-07-08 · TA获得超过2436个赞
知道小有建树答主
回答量:498
采纳率:0%
帮助的人:532万
展开全部
可以的。
int m,n;
获得m,n后
int *A;
A=new int[m*n];
如果要读A[x][y]的话,就是A[x+y*m]
使用完后记得delete []A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terranlong
2012-07-08 · TA获得超过7295个赞
知道大有可为答主
回答量:2660
采纳率:66%
帮助的人:4280万
展开全部
可以,定义为二维指针,以前别人给我解答的

A** ga = new A*[m];
for(int i = 0; i < m; i++)
ga[i] = new A[n];
...
for(int i = 0; i < m; i++)
delete []ga[i];
delete []ga;
A这里是值类型,你可以替换成int等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞丶逐梦
2012-07-08 · TA获得超过233个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:205万
展开全部
c中不允许动态定义数组
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友26008bd
2012-07-08 · 超过20用户采纳过TA的回答
知道答主
回答量:357
采纳率:0%
帮助的人:93.1万
展开全部
不可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式