CPP学习之——多维数组(14.28-31)

一 概述

以上我们所讲的都是一维数组,它只有一个下标,但是现实生活却不可能是一维的,比如说棋盘,它是二维的

二 实例说明

  • 这个象棋棋盘一共有10行9列,因此它需要用两维数组来表示,这个两维数组的第一维代表10行,第二维 代表9列。假定数组为a的话,那么该数组则是:

    1
    a[10][9];
  • 红帅的位置在第10行第5列,这个位置就是 a[9][4].其他棋子的位置依次类推。假如我们要描述某一个位置是否有棋子,可以用0和1来表示,为0时则为加,表示该位置没放棋子,为1时则为真表示该位置放了棋子

三 二维数组的初始化

3.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
cout<<"a["<<i<<"]["<<j<<"]:"<<a[i][j]<<endl;
}
}
return 0;
}

3.2 输出结果

1
2
3
4
5
6
7
8
9
10
11
12
a[0][0]:1
a[0][1]:2
a[0][2]:3
a[0][3]:4
a[1][0]:5
a[1][1]:6
a[1][2]:7
a[1][3]:8
a[2][0]:9
a[2][1]:10
a[2][2]:11
a[2][3]:12

四 二维数组输出图形

4.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
using namespace std;
int main()
{
char ch[5][5]={{' ',' ','*',' ',' '},{' ','*','*','*',' '},{'*','*','*','*','*'},{' ','*','*','*',' '},{' ',' ','*',' ',' '}};
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
cout<<ch[i][j];
cout<<endl;
}
return 0;
}

4.2 输出结果

1
2
3
4
5
  *  
***
*****
***
*