二维数组 交错数组 foreach遍历

】二维数组                      衡行纵列

int[,] arr = new int[2,3]{{2,3,4},{5,6,7}};            //2行  3列    动态初始化

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

int[,] arr_2 = {{12,34,45},{32,16,25} };             //2行  3列     静态初始化                 


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

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

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

              }

Console.WriteLine ();                                       //换行

}



二维数组中,第n个元素对应的值为

int [a,b];

i = (n-1)/b;

j = (n-1)%b;



两行三列  =>  三行两列

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

int[,] arr_1 = new int[3,2];

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

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

                       arr_1[j,i] = arr[i,j];                    //行列交换

             }

}

for (int a = 0; a < 3; a++) {                             //遍历数组 打印

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

                        Console.Write("{0} ",arr_1[a,b]);

              }

Console.WriteLine ();

}



//求最大元素及所在行和列

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

//记录最大值及所在的下标

int max = arr_1 [0, 0], x=0, y=0;

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

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

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

                            max = arr_[i,j];

                            x=i;                                    //确定下标

                            y=j;

              }

       }

}

Console.WriteLine ("max= "+max+"x= "+x+"y= "+y);



对角线元素和

int sum = 0;

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

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

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

                       if (i == j) {

                            sum += arr[i,j];

                        }

             }

}

Console.WriteLine ("{0}",sum);



交错数组

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

例如    int [ ] [ ] arr  = new int[3][ ];


int[ ] arr_1 = {1,3,5 };

int[ ] arr_2 = {2,4 };

int[ ] arr_3 = {23,45,12,34 };

int [ ][ ] arr = new int[3][ ]{arr_1,arr_2,arr_3};

arr [0] = new int[ ]{27,23,56 };                             //修改下标为0的元素

arr [1] = arr_3;                                                      //使下标为1的元素等于arr_3的元素

//遍历数组

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

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

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

              }

Console.WriteLine();

}



foreach遍历数组

int[ ] arr = {1,2,5,6,8,7};

int sum = 1;

foreach (var a in arr) {                       //a不能进行修改

               sum *= a;

}

Console.WriteLine ("{0}",sum);



string str = "Hello,lanou!";

char[ ] chars = str.ToCharArray();                                   //得到字符串的字符数组

//char[ ] chars_1 = "Hello,lanou!".ToCharArray();

int sum = 0;

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

            if (chars[i] =='l') {

                 ++sum

          }

}

Console.WriteLine ("{0}",sum);


string str = "Hello,lanou!";

char[ ] chars = str.ToCharArray();

// char[ ] chars_1 = "Hello,lanou!".ToCharArray();

int sum = 0;

foreach (var ch in chars) {

               if (ch == 'l') {

                    ++sum;

}

Console.WriteLine ("{0}",sum);

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

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,774评论 0 33
  • 知识点: 注:int类型默认32位有大小范围 且第一位为符号位 0 为正 1 为负 8.4作业 A:1、风力预警系...
    cGunsNRoses阅读 1,122评论 0 0
  • 8、15work 1、自己独立写出冒泡排序及选择排序 一、冒泡排序 二、选择排序 2. 找出数组元素中,差值(绝对...
    cGunsNRoses阅读 365评论 0 0
  • 定义方法1int[,]twodim=newint[3,3];twodim[0,0]=1;twodim[0,1]=2...
    Unity开发阅读 726评论 0 0
  • 8yue16 二维数组 一维是一条线 二维则是一个面(表) 有两个下标的数组,本质上是以数组作为数组元素的数组 类...
    cGunsNRoses阅读 757评论 0 0