C++中动态定义一维数组,二维数组
1 #include<iostream> 2 #include <ctime> 3 #include <cstdlib> 4 using namespace std; 5 6 int main() 7 { 8 int hight , row , col ; 9 register int i , j , k ; 10 //srand((unsigned)time(NULL)) ; 11 12 ////////////////////////////////////////////////////////////////////////////////////////////////// 13 //动态定义和初始化一维数组 14 ////////////////////////////////////////////////////////////////////////////////////////////////// 15 cout<<"输入一维数组的行"<<endl; 16 cin>>row ; 17 int *p1 ; 18 p1 = new int [row] ; 19 //输入一维数组的值 20 for( i = 0 ; i < row ; i ++ ) 21 p1[i] = rand () % 10 ; 22 //输出一维数组 23 for( i = 0 ; i < row ; i ++ ) 24 cout<<p1[i] <<' ' ; 25 cout<<endl; 26 //释放一维数组 27 delete [] p1 ; 28 29 ////////////////////////////////////////////////////////////////////////////////////////////////// 30 //动态定义和初始化二维数组 31 ////////////////////////////////////////////////////////////////////////////////////////////////// 32 cout<<"输入二维数组的行,列 :"; 33 cin>>row >>col ; 34 int **p2 ; 35 p2 = new int*[row] ; 36 for( i = 0 ; i < row ; i ++ ) 37 p2[i] = new int[col] ; 38 //输入二维数组的值 39 for( i = 0 ; i < row ; i ++ ) 40 for( j = 0 ; j < col ; j ++ ) 41 p2[i][j] = rand() % 10 ; 42 //输出二维数组 43 cout<<"输出二位数组:"<<endl; 44 for( i = 0 ; i < row ; i ++ ) 45 { 46 for( j = 0 ;j < col ; j ++ ) 47 cout<<p2[i][j]<<' ' ; 48 cout<<endl; 49 } 50 //释放二维数组 51 for( i = 0 ; i < row ; i ++ ) 52 delete []p2[i] ; 53 delete []p2 ; 54 55 ////////////////////////////////////////////////////////////////////////////////////////////////// 56 //动态定义和初始化三维数组 57 ////////////////////////////////////////////////////////////////////////////////////////////////// 58 cout<<"输入三维数组高,行,列 : "; 59 cin>>hight>>row >> col ; 60 int *** p3 ; 61 p3 = new int**[hight ] ; 62 for( i = 0 ; i < hight ; i ++ ) 63 p3[i] = new int*[row] ; 64 for( i = 0 ; i < hight ; i ++ ) 65 for( j = 0 ; j < row ; j ++ ) 66 p3[i][j] = new int[col] ; 67 //输入三维数组值: 68 for(i = 0 ; i < hight ; i ++ ) 69 for(j = 0 ; j < row ; j ++ ) 70 for( k = 0 ; k < col ; k ++) 71 p3[i][j][k] = rand() ; 72 //输出三维数组: 73 cout<<"输出三维数组"<<endl; 74 for(i = 0 ; i < hight ; i ++ ) 75 { 76 for( j = 0 ; j < row ; j ++ ) 77 { 78 for( k = 0 ; k < col ; k ++ ) 79 cout<<p3[i][j][k]<<' ' ; 80 cout<<endl; 81 } 82 cout<<endl; 83 } 84 //释放三维数组 85 for( i = 0 ; i < hight ; i ++ ) 86 for( j = 0 ; j < row ; j ++ ) 87 delete []p3[i][j] ; 88 for( i = 0 ; i < hight ; i ++ ) 89 delete []p3[i] ; 90 delete []p3 ; 91 return 0 ; 92 }