//動態定義一維數組、二維數組、三維數組
#include<iostream>
#include<ctime>
using namespace std ;
int main()
{
int hight , row , col ;
register int i , j , k ;
srand((unsigned)time(NULL)) ;
cout<<"輸入一維數組的行"<<endl;
cin>>row ;
//動態定義一維數組
int *p1 ;
p1 = new int [row] ;
//輸入一維數組的值
for( i = 0 ; i < row ; i ++ )
p1[i] = rand () % 10 ;
//輸出一維數組
for( i = 0 ; i < row ; i ++ )
cout<<p1[i] <<' ' ;
cout<<endl;
//釋放一維數組
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<<"輸出二位元組:"<<endl;
for( i = 0 ; i < row ; i ++ )
{
for( j = 0 ;j < col ; j ++ )
cout<<p2[i][j]<<' ' ;
cout<<endl;
}
//釋放二維數組
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<<"輸出三維數組"<<endl;
for(i = 0 ; i < hight ; i ++ )
{
for( j = 0 ; j < row ; j ++ )
{
for( k = 0 ; k < col ; k ++ )
cout<<p3[i][j][k]<<' ' ;
cout<<endl;
}
cout<<endl;
}
//釋放三維數組
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 ;
}