二维数组
Posted dtdyq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组相关的知识,希望对你有一定的参考价值。
本程序显示了如何动态构造二维数组,可以指定数组的行数和列数:
1 int **make2darray(int rows,int cols){ 2 int **x,i; 3 x=malloc(rows*sizeof(*x)); 4 for(i=0;i<rows;i++){ 5 x[i]=malloc(cols*sizeof(**x)); 6 } 7 return x; 8 }
二维数组可以作为矩阵进行操作,矩阵中有类似三角矩阵、稀疏矩阵和单位矩阵等特殊的矩阵。
该程序即是用来判断一个矩阵是否为单位矩阵:
1 #include<stdio.h> 2 #define N 4 3 int main(void) 4 { 5 int i,j,a[N][N]; 6 int count=0; 7 for(i=0;i<N;i++){ 8 for(j=0;j<N;j++){ 9 scanf("%d",&a[i][j]); 10 } 11 } 12 for(i=0;i<N;i++){ 13 for(j=0;j<N;j++){ 14 if(i==j){ 15 if(a[i][j]==1){ 16 count++; 17 } 18 } 19 else{ 20 if(a[i][j]==0){ 21 count++; 22 } 23 } 24 25 } 26 } 27 if(count==N*N){ 28 printf("yes"); 29 } 30 else{ 31 printf("no"); 32 } 33 return 0; 34 }
其中宏定义中的N是矩阵的行列书,可以根据自己的需要自行设置大小。
2016-10-24 12:12:49
以上是关于二维数组的主要内容,如果未能解决你的问题,请参考以下文章
leetcode_1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold_[二维前缀和](代码片段