How to sum 2D array (matrix) cols in C

1 Answer

0 votes
#include <stdio.h>
         
void sum_matrix_cols(int matrix[][5], int cols_sum[3], int rows, int cols)
{
    for (int j = 0; j < cols; j++) {
        for (int i = 0; i < rows; i++)
            cols_sum[j] += matrix[i][j];
    }
}
  
int main()
{
    int matrix[3][5] = { { 1, 2, 3, 4, 5 },
                         { 1, 2, 3, 4, 5 },
                         { 1, 2, 3, 4, 5 } };
  
    int cols_sum[5] = { 0 };
    int rows = sizeof matrix / sizeof matrix[0];
    int cols = sizeof matrix[0] / sizeof(int);
  
    sum_matrix_cols(matrix, cols_sum, rows, cols);
  
    for (int i = 0; i < 5; i++)
        printf("%d\n", cols_sum[i]);
  
    return 0;
}
 
/*
run:
 
3
6
9
12
15
 
*/

 



answered Apr 13, 2018 by avibootz
edited Apr 13, 2018 by avibootz

Related questions

1 answer 138 views
138 views asked Apr 12, 2018 by avibootz
1 answer 217 views
217 views asked Apr 18, 2018 by avibootz
1 answer 178 views
1 answer 177 views
177 views asked Apr 18, 2018 by avibootz
1 answer 205 views
205 views asked Apr 18, 2018 by avibootz
2 answers 241 views
1 answer 129 views
129 views asked Apr 13, 2018 by avibootz
...