You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.0 KiB
C

/*
* C program to read a matrix A (MxN) & find the following using
* functions a) Sum of the elements of each row
* b) Sum of the elements of each column
* c) Find the sum of all the elements of the matrix
* Output the computed results
*/
#include <stdio.h>
int Addrow(int array1[10][10], int k, int c);
int Addcol(int array1[10][10], int k, int r);
void main()
{
int arr[10][10];
int i, j, row, col, rowsum, colsum, sumall=0;
printf("Enter the order of the matrix \n");
scanf("%d %d", &row, &col);
printf("Enter the elements of the matrix \n");
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
scanf("%d", &arr[i][j]);
}
}
printf("Input matrix is \n");
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
printf("%3d", arr[i][j]);
}
printf("\n");
}
/* computing row sum */
for (i = 0; i < row; i++)
{
rowsum = Addrow(arr, i, col);
printf("Sum of row %d = %d\n", i + 1, rowsum);
}
/* computing col sum */
for (j = 0; j < col; j++)
{
colsum = Addcol(arr, j, row);
printf("Sum of column %d = %d\n", j + 1, colsum);
}
/* computation of all elements */
for (j = 0; j < row; j++)
{
sumall = sumall + Addrow(arr, j, col);
}
printf("Sum of all elements of matrix = %d\n", sumall);
}
/* Function to add each row */
int Addrow(int array1[10][10], int k, int c)
{
int rsum = 0, i;
for (i = 0; i < c; i++)
{
rsum = rsum + array1[k][i];
}
return(rsum);
}
/* Function to add each column */
int Addcol(int array1[10][10], int k, int r)
{
int csum = 0, j;
for (j = 0; j < r; j++)
{
csum = csum + array1[j][k];
}
return(csum);
}