在矩阵中使用C查找矩阵中每一列的最大元素?

时间:2018-11-12 20:06:28

标签: c

我想打印每个列元素的最大值 1 2 3 4 5 6 7 8 9 所以我想打印7 8 9,因为它们是数组中最大的数字。

#include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    int main( void ) {
        int a[10][10],c[10],max[10],min[10],n,j,i,tmp,r;
        printf("Vuvejdane na vhodni danni:\n");
        printf("Vuvedete broi redove i broi stulbove n=");
        scanf("%d",&n);
        for(i=0;i<n;i++) {
            for(j=0;j<n;j++) {
                do {
                    printf("Vuvedete A[%d][%d]:",i,j);
                    scanf("%d",&a[i][j]);
                } while (((a[i][j])<-500) || ((a[i][j])>500));
            }
        }
        printf("Izvejdane na vhodni danni :\n");
        for (i=0;i<n;i++) {
            for (j=0;j<n;j++) {
                printf("%5.1d ",a[i][j]);
            }
            printf("\n");
        }
        return 0;
    }

1 个答案:

答案 0 :(得分:1)

您可以使用循环逐行迭代的循环:

// mx is array of maximum by column
for (j=0;j<n;j++) {
    mx[j]= a[0][j];
    for (i=1;i<n;i++) {
        mx[j] = max(mx[j],a[i][j]);
    }
}

max(a,b)是一个函数,它返回2个参数中的最大值。