c++怎么用三维数组

 我来答
风若远去何人留
推荐于2017-09-30 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450121
专业C/C++软件开发

向TA提问 私信TA
展开全部

与一维和二维数组类似,以整型为例,三维数组的定义,赋值,和遍历操作如下:

1 定义:

int a[10][10][10];

这样就定义了一个10*10*10的三维数组。

2 赋值:

访问三维数组一个元素可以写作a[m][n][p]。于是将三维数组每个值分别输入的代码如下:

int i,j,k;
for(i = 0; i < 10; i ++)
    for(j = 0; j < 10; j ++)
        for(k = 0; k < 10; k ++)
            cin>>a[i][j][k];

3遍历:

事实上,2中所介绍的赋值,实际上已经对数组元素做了一次遍历。

打印的方法如下:

int i,j,k;
for(i = 0; i < 10; i ++)
    for(j = 0; j < 10; j ++)
        for(k = 0; k < 10; k ++)
            cout<<a[i][j][k];


从以上样例可以看出,三维数组只是比二维数组多了一个维度,遍历的时候需要多一重循环,访问元素的时候也多了一个下标。其它的并没有特别之处。依此类推,四维五维乃至更高维的数组也是类似的。不过更高维度的数组,在实际应用中很少使用。

百度网友fc027fc
2015-01-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:771万
展开全部
#include<iostream>
using namespace std;
int main(){
    int a[1][2][3];
    
    int i,j,k;
    for(i=0;i<1;i++){
        for(j=0;j<2;j++){
            for(k = 0;k<3;k++)
                cin >> a[i][j][k];
        
        }
    }
    for(i=0;i<1;i++){
        for(j=0;j<2;j++){
            for(k = 0;k<3;k++)
                cout << a[i][j][k] << endl;;
        }
    }
    system("pause");
    return 0;
}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
推荐于2017-09-14 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3680万
展开全部
可以分别用下标变量管理和访问。
比如:要管理某年级6个班每个学生的4门成绩,可以开设数组
float score[6][40][4];
其中第1下标表示第几班,第2下标表示班中第几个学生(年级中每班最多40名学生),第3下标表示该学生第几门功课的成绩。
假设我们给2班第4名同学的第3门成绩赋值95,可以:
int class,number; class=1; number=3; score[class][number][2]=95;
输出该学生4门成绩可以:for ( i=0;i<4;i++ ) printf("%.1f ",score[1][3][i]); printf("\n");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
253110376
2015-10-31 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:68.3万
展开全部
跟一二维的数组相同
如:int num[110][110][110];scanf("%d",num[5][2][4]);num[3][45][25]=v;之类的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mafangsan
2015-01-07 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2554万
展开全部
不管几维数组在内存里面都是一维
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式