C++动态定义三维数组

 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;
}

猜你喜欢

转载自blog.csdn.net/weixin_42449444/article/details/82901678