[2d数组以计算c中的每列/行中有多少个[关闭]

问题描述 投票:-3回答:1

到目前为止,我已经计算出整个数组中有多少个,但是我想分别计算所有列中的多少和所有行中的多少]

#include <stdio.h>
void countcolumn(int a[10][10]){
int i,j,flag=0;
for(i=0;i<10;i++){
    for(j=0;j<10;j++){
        if(a[i][j]==1){
            flag=flag+1;
        }

    }

}
printf("\n%d\n",flag);

}

int one[10][10]={0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
                 0,    0,    0,    1,    1,    0,    0,    0,    0,    0,
                 0,    0,    1,    0,    1,    0,    0,    0,    0,    0,
                 0,    1,    0,    0,    1,    0,    0,    0,    0,    0,
                 0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
                 0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
                 0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
                 0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
                 0,    0,    0,    0,    1,    0,    0,    0,    0,    0,
                 0,    0,    0,    0,    1,    0,    0,    0,    0,    0};
c multidimensional-array
1个回答
3
投票

您必须传递每一行并计算行数。然后传递每一列并计数一列。

void countONE(int a[10][10]){
    int i,j,counter=0;
    for(i=0;i<10;i++){
        for(j=0;j<10;j++){
            if(a[i][j]==1)
                counter++;
            }
        printf("Row %d have %d one values.\n",i,counter);
        counter=0;
    }
    for(i=0;i<10;i++){
        for(j=0;j<10;j++){
            if(a[j][i]==1)
                counter++;
            }
        printf("Column %d have %d one values.\n",i,counter);
        counter=0;
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.