c++怎么用三维数组

如题所述

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

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


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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-07
#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;
}

本回答被网友采纳
第2个回答  推荐于2017-09-14
可以分别用下标变量管理和访问。
比如:要管理某年级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");本回答被提问者采纳
第3个回答  2015-10-31
跟一二维的数组相同
如:int num[110][110][110];scanf("%d",num[5][2][4]);num[3][45][25]=v;之类的
第4个回答  2015-01-07
不管几维数组在内存里面都是一维

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网