C++实验作业:动态创建三维数组,各维长度通过输入给定。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int height, row, col; //依次为三维数组的高、行、列
cout << "请输入三维数组高,行,列 : ";
cin >> height >> row >> col;
int i, j, k;
//动态定义三维数组
int ***p;
p = new int**[height];
for(i=0;i<height;i++)
{
p[i] = new int*[row];
}
for(i=0;i<height;i++)
{
for(j=0;j<row;j++)
{
p[i][j] = new int[col];
}
}
//输入三维数组
printf("请输入%d个元素:\n",height*row*col);
for(i=0;i<height;i++)
{
for(j=0;j<row;j++)
{
for(k=0;k<col;k++)
{
cin >> *(*(*(p+i)+j)+k);
}
}
}
//输出三维数组
for(i=0;i<height;i++)
{
for(j=0;j<row;j++)
{
for(k=0;k<col;k++)
{
cout << p[i][j][k] << " ";
}
cout << endl;
}
cout << endl;
}
delete []p; //释放内存空间
return 0;
}