C#(9)二维、交错数组

8yue16

二维数组

一维是一条线  二维则是一个面(表)

有两个下标的数组,本质上是以数组作为数组元素的数组

类型[,]数组名 = new 类型[  一维长度 (行 ),  二维长度 (列)]


二维数组第二个维度必须相同

int[,] arr = new int[2, 3]{ { 2, 3, 4 }, { 5, 6, 7 } };

int[,] arr_1 = new int[,]{ {1,3 }, {4,5 }, {6,7} };

int[,] arr_2 = { { 12, 35, 31 }, { 12, 34, 56 } };


二维遍历

for (int i = 0; i < 2; ++i) {

for (int j = 0; j < 3; ++j) {

Console.Write("{0}",arr[i,j]);

}

Console.Write (" ");

}

将一个二维数组的行和列交换,存储到另外一个数组中去

2 , 3 ,5

1 , 6 ,4

2 ,1

3 ,6

5 ,4

int[,]a=new int[3,2]{{1,5},{2,2},{2,3}};

for (int i = 0; i <3; i++) {

for (int j = 0; j <2; j++) {

new [i, j] = a [j, i];

Console.Write (a [i, j]);

}

}

有一个3行4列的二维数组, 要求编程找出最大元素,并输出所在的行和列;

int[,] arr = new int[3,4]{{1,45,12,1},{3,12,4,13},{12,5,323,4}};

int max = arr[0,0];

int  maxX = 0;

int maxY= 0;

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 4; j++) {

if (max < arr [i, j]) {

max = arr [i, j];

maxX = i;

maxY = j;

}

}

}

Console.WriteLine ("最大元素为{0},行{1},列{2}",max,maxX,maxY);


定义一个三行三列的二维数组,求对角线之和

int[,] arr_3 = {{12,12,44},{14,43,43},{12,53,11}};

int sum = 0;

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

if (i == j) {

sum += arr_3 [i, j];

}

}

}

Console.WriteLine ("sum = "+ sum );、


多维数组



交错数组

表示一个表格数据,行确定,但是每一个行的列数不同,就可以用交错数组

本质是一个一维数组, 里面的元素是数组

类型[][]数组名 = new 类型[数组长度][];

在声明交错数组的时候,只需要制定一维数组的长度

int[][] arr = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};


交错数组遍历

for (int i = 0;i < arr.Length;++i){

for (int j = 0; j < arr [i].Length; ++j) {

Console.Write (arr[i] [j]);

}

Console.WriteLine ( );

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容