| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 450 人关注过本帖
标题:关于建立动态数组的问题
只看楼主 加入收藏
黯然神伤
Rank: 2
等 级:论坛游民
帖 子:18
专家分:39
注 册:2009-2-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
关于建立动态数组的问题
怎样建立动态的二维数组呢?我用过很多种写法,但好像都是编译不过去~~如果没有的话,大家帮我想想替代的方法也行~~~谢谢大家了~~
搜索更多相关主题的帖子: 动态 
2009-07-25 19:40
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:5 
#include <iostream.h>
template <class T>
void Array(T **&x,int row,int clu) //申请新的二维数组
{
    int i;
    x=new T*[row];
    for(i=0;i<row;i++)
    x[i]=new T[clu];
   
}

template <class T>
void Del2dArray(T **&x,int row)        //释放二维数组
{
    int i;
    for(i=0;i<row;i++)
        delete []x[i];
    delete []x;
    x=0;
}

template <class T>
void change(T**&ne2,T **&old,int o,int nr,int nc) //动态改变数组size
{
    Array(ne2,nr,nc);
    int i;
    for(i=0;i<o;i++)
        ne2[i]=old[i];
    cout<<ne2[0][1]<<endl;            
   
}

void main()
{
    int **c;
    int i,j,o=1;
    Array(c,3,4);
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            c[i][j]=o++;
    int **n;
    change(n,c,3,10,20);
    cout<<n[0][1]<<endl;               
    Del2dArray(n,10);
}
前两天写的,还有点问题,我也不知道为什么
2009-07-25 19:57
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
int i,n,k;
int *p;
cin>>i;//行数
p=int * [i];//申请个指针数组
cin>>n;//列数
k=0
while(k<i)
{
 p[k]=n;
 ++k;
}

迭代的是人,递归的是神。
2009-07-25 20:05
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:15 
int i,n,k;
int **p;//修改
cin>>i;//行数
p=new int * [i];//申请个指针数组(修改)
cin>>n;//列数
k=0
while(k<i)
{
p[k]=new int[n];//修改
++k;
}

迭代的是人,递归的是神。
2009-07-25 20:11
快速回复:关于建立动态数组的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016581 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved