忘记密码
 新成员注册
查看: 4776|回复: 1

[原创]C++ 用new动态创建三维数组

[复制链接]
我的人缘0
发起活动
0 次
参加活动
0 次
杨德坤 发表于 2007-6-9 22:34 | 显示全部楼层 |阅读模式

你还没有登录,登录后可以看到更多精彩内容

您需要 登录 才可以下载或查看,没有账号?新成员注册

×
在看了“c++ 用new动态创建多维数组”后自己写了个三维数组的程序来巩固所学知识
“c++ 用new动态创建多维数组”地址:http://www.9cpp.com/edu/spclass/20070607/190.html
本程序经dev-c++测试通过
////////////////////////////////////////////////////////////////////
#include <cstdlib>
#include <iostream>
#include <ctime>
using namespace std;
int main(int argc, char *argv[])
{
    srand(time(0));
   
    //创建一维数组,每个数组元素返回**a
    int ***a = new int**[3];
   
    //为一维数组的每个元素再创建一个数组,成为二维数组
    //每个数组元素返回*a
    for(int i = 0; i < 3; i++)
        a = new int*[3];
   
    //为二维数组的每个元素再创建一个数组,并为每个数组分配空间
    //最终变成三维数组
    for(int i = 0; i < 3; i++)
        for(int j = 0; j < 3; j++)
                a[j] = new int[3];
   
    //为每个元素赋值
    for(int i = 0; i < 3; i++)
        for(int j = 0; j < 3; j++)
            for(int k = 0; k < 3; k++)
                a[j][k] = rand() % 10;
   
    //输出每个元素
    for(int i = 0; i < 3; i++)
        for(int j = 0; j < 3; j++)
        {
            for(int k = 0; k < 3; k++)
            {   
                cout << a[j][k] << ' ';
                if(k == 2)
                    cout << endl;
            }
            if(j == 2)
                cout << endl;
        }
   
    //释放分配的空间
    for(int i = 0; i < 3; i++)
        for(int k = 0; k < 3; k++)
            delete[] a[k];
   
    //结束程序
    system("pause");
    return exit_success;
}






本贴已被 作者 于 2007年06月09日 22时48分48秒 编辑过
踩过的脚印
充实自我,展现自我!没有完美的个人,只有优秀的团队!计协我的家,建设靠大家!只有真正的融入了,你才会体会快乐哦~
我的人缘0
发起活动
0 次
参加活动
0 次
彭金平 发表于 2007-6-19 20:13 | 显示全部楼层
看得似懂非懂,很难理解
充实自我,展现自我!没有完美的个人,只有优秀的团队!计协我的家,建设靠大家!只有真正的融入了,你才会体会快乐哦~
您需要登录后才可以回帖 登录 | 新成员注册

本版积分规则

QQ|手机版|CA之家 ( 桂ICP备07006672号-6 )

GMT+8, 2025-9-19 22:41

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表