您的位置:首页 > 编程语言 > C语言/C++

C++中动态分配二维数组的方法(zz)

2007-10-11 10:00 267 查看
C++中动态分配二维数组的方法(zz)


#include <cstdlib>


#include <iostream>


#include <cstring>




using namespace std;




int main(int argc, char *argv[])




...{


int N;


while(cin>>N)




...{


// 方案一


int array

; // 你用的是vc6吧,它不支持动态数组!


memset(array, 0, sizeof(array));


// 方案二


int (*array)
= (int(*)
)new int[N*N]; //动态分配二维数组


memset(array, 0, sizeof(int)*N*N);




// 方案三


int **array = new int*
;




for (int i=0;i<N;i++) ...{ // vc6也不支持重复定义循环变量i!


// 后面再出现同样的循环变量i,就会出错!


array[i] = new int
;


memset(array[i], 0, sizeof(int)*N);


}




int n=1;


for(int m=0;m<N;m++)


for(int i=m,j=0;i>=0&&j<=m;i--,j++)


array[i][j]=n++;


for(int i=0;i<N;i++)




...{


for(int j=0;j<N;j++)


if(array[i][j]==0)


break;


else


cout<<array[i][j]<<" ";


}


//释放部分你就自己写了...


}


system("PAUSE");


return EXIT_SUCCESS;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: