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++怎么用三维数组的主要内容,如果未能解决你的问题,请参考以下文章