How to find the sum of each row and each column of a matrix (2D array) in C

1 Answer

0 votes
#include <stdio.h>  
       
int main()  
{  
    int arr[][4] = {     
                    {1, 2, 3, 5},  
                    {4, 5, 6, 5},  
                    {7, 8, 9, 5}  
                };  

    int rows = (sizeof(arr)/sizeof(arr[0]));  
    int cols = (sizeof(arr)/sizeof(arr[0][0]))/rows;  
          
    int sumRow, sumCol;  
    for (int i = 0; i < rows; i++){  
        sumRow = 0;  
        for (int j = 0; j < cols; j++){  
             sumRow = sumRow + arr[i][j];  
        }  
        printf("Sum of row: %d = %d\n", i, sumRow);  
    }  
          
    for (int i = 0; i < cols; i++){  
        sumCol = 0;  
        for (int j = 0; j < rows; j++){  
             sumCol = sumCol + arr[j][i];  
        }  
        printf("Sum of col: %d = %d\n", i, sumCol);  
    }  
              
    return 0;  
}  




/*

run:

Sum of row: 0 = 11
Sum of row: 1 = 20
Sum of row: 2 = 29
Sum of col: 0 = 12
Sum of col: 1 = 15
Sum of col: 2 = 18
Sum of col: 3 = 15

*/

 



answered Feb 20, 2021 by avibootz
...