动态分配数组I(一维二维三维)C++
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//动态定义一维数组、二维数组、三维数组
#include
#include
using namespace std ;
int main()
{
int hight , row , col ;
register int i , j , k ;
srand((unsigned)time(NULL)) ;
cout<<"输入一维数组的行"<
//动态定义一维数组
int *p1 ;
p1 = new int [row] ;
//输入一维数组的值
for( i = 0 ; i < row ; i ++ )
p1[i] = rand () % 10 ;
//输出一维数组
for( i = 0 ; i < row ; i ++ )
cout<
delete [] p1 ;
cout<<"输入二维数组的行,列 :";
cin>>row >>col ;
//动态定义二维数组
int **p2 ;
p2 = new int*[row] ;
for( i = 0 ; i < row ; i ++ )
p2[i] = new int[col] ;
//输入二维数组的值
for( i = 0 ; i < row ; i ++ )
for( j = 0 ; j < col ; j ++ )
p2[i][j] = rand() % 10 ;
//输出二维数组
cout<<"输出二位数组:"<
{
for( j = 0 ;j < col ; j ++ )
cout<
//释放二维数组
for( i = 0 ; i < row ; i ++ )
delete []p2[i] ;
delete []p2 ;
cout<<"输入三维数组高,行,列 : ";
cin>>hight>>row >> col ;
//动态定义三维数组:
int *** p3 ;
p3 = new int**[hight ] ;
for( i = 0 ; i < hight ; i ++ )
p3[i] = new int*[row] ;
for( i = 0 ; i < hight ; i ++ )
for( j = 0 ; j < row ; j ++ )
p3[i][j] = new int[col] ;
//输入三维数组值:
for(i = 0 ; i < hight ; i ++ )
for(j = 0 ; j < row ; j ++ )
for( k = 0 ; k < col ; k ++)
p3[i][j][k] = rand()%10 ;
//输出三维数组:
cout<<"输出三维数组"<
{
for( j = 0 ; j < row ; j ++ )
{
for( k = 0 ; k < col ; k ++ )
cout<
cout<
//释放三维数组
for( i = 0 ; i < hight ; i ++ )
for( j = 0 ; j < row ; j ++ )
delete []p3[i][j] ;
for( i = 0 ; i < hight ; i ++ )
delete []p3[i] ;
delete []p3 ;
return 0 ;
}
已知维数
const int N = 12;
const int n =12;
int a[n] ={1,2,3,4,5,6,7,8,9,10,11,12};
int b[n]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*p)[n]=new int[N][n];