首页 > 代码库 > 二维数组
二维数组
本程序显示了如何动态构造二维数组,可以指定数组的行数和列数:
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
二维数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。