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;
}
#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;
}
相关文章推荐
- C++ 关于二维数组的动态分配和释放——方法一(new)
- C++中动态分配二维数组的方法
- C与C++动态分配二维数组的实现方法
- c++ new delete 动态分配二维数组
- C++ 完成:用动态分配空间的方法计算fibonaccr数列
- 二维数组的动态分配和释放(C和C++实现)
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- C/C++动态分配二维数组(在堆上分配二维数组内存)
- 如何在C++中动态分配二维数组
- C++ Code:动态分配数组内存的六种方法
- C/C++二维数组的动态分配及参数传递
- C++ 动态开辟二维数组的的方法
- C++ 动态开辟二维数组的的方法
- 如何在C/C++中动态分配二维数组并访问其中的数据
- 如何在C/C++中动态分配二维数组
- C++中如何动态分配二维数组