ROLL No: PROGRAMMING FOR PROBLEM SOLVING USING C
Exercise – 6
6. A
Aim: Write a program in C for multiplication of two square Matrices.
Source code:
#include <stdio.h>
void main()
{
int arr1[50][50],brr1[50][50],crr1[50][50],i,j,k,r1,c1,r2,c2,sum=0;
printf("\n\nMultiplication of two Matrices :\n");
printf(" \n");
printf("\nInput the rows and columns of first matrix : ");
scanf("%d %d",&r1,&c1);
printf("\nInput the rows and columns of second matrix : ");
scanf("%d %d",&r2,&c2);
if(c1!=r2){
printf("Mutiplication of Matrix is not possible.");
printf("\nColumn of first matrix and row of second matrix must be same.");
}
else
{
printf("Input elements in the first matrix :\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
{
printf("element - [%d],[%d] : ",i,j);
scanf("%d",&arr1[i][j]);
}
}
printf("Input elements in the second matrix :\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
{
printf("element - [%d],[%d] : ",i,j);
scanf("%d",&brr1[i][j]);
}
}
printf("\nThe First matrix is :\n");
for(i=0;i<r1;i++)
{
printf("\n");
VIEW Page 29
ROLL No: PROGRAMMING FOR PROBLEM SOLVING USING C
for(j=0;j<c1;j++)
printf("%d\t",arr1[i][j]);
}
printf("\nThe Second matrix is :\n");
for(i=0;i<r2;i++)
{
printf("\n");
for(j=0;j<c2;j++)
printf("%d\t",brr1[i][j]);
}
//multiplication of matrix
for(i=0;i<r1;i++)
for(j=0;j<c2;j++)
crr1[i][j]=0;
for(i=0;i<r1;i++) //row of first matrix
{
for(j=0;j<c2;j++) //column of second matrix
{
sum=0;
for(k=0;k<c1;k++)
sum=sum+arr1[i][k]*brr1[k][j];
crr1[i][j]=sum;
}
}
printf("\nThe multiplication of two matrices is : \n");
for(i=0;i<r1;i++)
{
printf("\n");
for(j=0;j<c2;j++)
{
printf("%d\t",crr1[i][j]);
}
}
}
printf("\n\n");
}
VIEW Page 30
ROLL No: PROGRAMMING FOR PROBLEM SOLVING USING C
6.b
Aim: Write a program in C to find transpose of a given matrix.
Source code:
#include <stdio.h>
void main()
{
int arr1[50][50],brr1[50][50],i,j,k=0,r,c;
printf("\n\nTranspose of a Matrix :\n");
printf(" \n");
printf("\nInput the rows and columns of the matrix : ");
scanf("%d %d",&r,&c);
printf("Input elements in the first matrix :\n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("element - [%d],[%d] : ",i,j);
scanf("%d",&arr1[i][j]);
}
}
printf("\nThe matrix is :\n");
for(i=0;i<r;i++)
{
printf("\n");
for(j=0;j<c;j++)
printf("%d\t",arr1[i][j]);
}
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
brr1[j][i]=arr1[i][j];
}
}
printf("\n\nThe transpose of a matrix is : ");
for(i=0;i<c;i++){
printf("\n");
VIEW Page 32
ROLL No: PROGRAMMING FOR PROBLEM SOLVING USING C
for(j=0;j<r;j++){
printf("%d\t",brr1[i][j]);
}
}
printf("\n\n");
}
VIEW Page 33
ROLL No: PROGRAMMING FOR PROBLEM SOLVING USING C
Exercise – 7
7. A
Aim: Write a program in C to search an element in a row wise and column wise sorted
matrix.
Source code:
#include <stdio.h>
int searchElement(int arr2D[4][4], int n, int x)
int i = 0, j = n-1;
while ( i < n && j >= 0 )
if ( arr2D[i][j] == x )
printf("\nThe element Found at the position in the matrix is: %d, %d", i, j);
return 1;
if ( arr2D[i][j] < x )
j--;
else
i++;
printf("\nThe given element not found in the 2D array.");
return 0;
int main()
VIEW Page 35
ROLL No: PROGRAMMING FOR PROBLEM SOLVING USING C
int arr2D[4][4] = { {15, 23, 31, 39},
{18, 26, 36, 43},
{25, 28, 37, 48},
{30, 34, 39, 50},
};
int i,j,v;
v=37;
// print original array
printf("The given array in matrix form is : \n");
for(i = 0; i < 4; i++)
for (j=0;j<4;j++)
printf("%d ", arr2D[i][j]);
printf("\n");
//
printf("The given value for searching is: %d",v);
searchElement(arr2D, 4, v);
return 0;
VIEW Page 36