注册 登录
编程论坛 C++教室

动态2维数组的赋值~

kisscjy 发布于 2007-10-19 12:50, 1035 次点击

不太清楚动态2维数组的赋值,请指教一下~~

#include<iostream>
using namespace std;

int main()
{
int num;
cin>>num;

int i;
int **a=new int *[num];

for( i=0; i<num; ++i ) //建立动态2维数组
{
a[i]=new int [num];
}

a[0][0]=1;
}

当执行到红色这句时就错误了

想问一下怎样给动态2维数组赋值啊

[此贴子已经被作者于2007-10-19 18:29:45编辑过]

6 回复
#2
xskowscut2007-10-19 12:58
for( i=0; i<num; ++i ) //建立动态2维数组
{
a[num]=new int [num];
}
这里错了。应该是a[i] = new int [num]才对。高维下标到num-1就没有了。
#3
kisscjy2007-10-19 18:34

非常谢谢你`~~

#4
孤魂居士2007-10-19 22:19
中区大哥  小弟我来了  你主函数int型没有返回值
#5
aipb20072007-10-20 10:26
以下是引用孤魂居士在2007-10-19 22:19:00的发言:
你主函数int型没有返回值

可以的。

#6
天心水月2007-10-21 00:21

#include <iostream>
using namespace std;
void main()
{
int i,j;
int **arr;
int N,M;
cout<<"请输入行数N和列数M:"<<endl;
cin >> N >> M;

arr = new int *[N];
for(i=0;i<N;i++)
{
arr[i] = new int[M];
}

cout<<"请输入元素:"<<endl;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
cin>>arr[i][j];

for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
cout<<arr[i][j]<<'\t';
cout<<endl;
}
}


还好我学会了!

[此贴子已经被作者于2007-10-21 0:23:53编辑过]

#7
孤魂居士2007-10-21 12:18
以下是引用aipb2007在2007-10-20 10:26:12的发言:

可以的。

1