自学笔记之C++(7)--二维数组

    技术2022-07-11  104

    二维数组

    定义: 数据类型 数组名[常量表达式1][常量表达式2]

    表达式1表示行,表达式2表示列,元素个数为行列长度的乘积下标都从0开始按“行”存放,存完一行再存下一行

    初始化:

    1. 按存放顺序对所有元素赋初值 int a[2][3]={1,2,3,4,5,6}; int a[ ][3]={1,2,3,4,5,6}; 2. 按行给所有元素赋初值 int a[2][3]={{1,2,3},{4,5,6}}; 3. 按行部分赋值–未被赋的自动为0 int b[3][4]={{1,2},{0,3,4},{0,0,5}}; b为 4. 省略一维的长度 int c[ ][3]={{1},{ },{2}}; c 为

    【例】求一个3×3方阵的最大元素及下标

    max=a[0][0]; imax=jmax=0 for(i=0;i<3;i++) for(j=0;j<3;j++) if(a[i][j]>max) { max=a[i][j]; imax=i; jmax=j; } cout<<max<<endl;

    矩阵转置

    把第i行转为第i列,第i行j列元素放到第j行i列上

    for(i=0;i<3;i++) for(j=0;j<i;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; }

    输出杨辉三角

    for(i=0;i<n;i++) a[i][0]=a[i][i]=0; for(i=2;i<n;i++) for(j=1;j<i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<n;i++) { for(j=0;j<i;j++) cout<<a[i][j]<<' '; cout<<endl; }
    Processed: 0.011, SQL: 9