c++怎么用三维数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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];


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

参考技术A #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;

参考技术B 可以分别用下标变量管理和访问。
比如:要管理某年级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");本回答被提问者采纳
参考技术C 跟一二维的数组相同
如:int num[110][110][110];scanf("%d",num[5][2][4]);num[3][45][25]=v;之类的
参考技术D 不管几维数组在内存里面都是一维

以上是关于c++怎么用三维数组的主要内容,如果未能解决你的问题,请参考以下文章

java 三维矩阵

VB三维数组

三维数组

javascript三维数组怎么写?

奇妙的数据结构世界 用经典例题对数组进行全面分析 | C++

HDF5:将线性数组保存到三维数据集