0% found this document useful (0 votes)
25 views

Lab Programmes

The document describes programs in C to perform matrix operations. It includes programs to multiply two matrices, find the transpose of a matrix, and search for an element in a row and column wise sorted matrix. The programs provide the source code, explain the algorithms, input and output matrices, and find or indicate if the search element is found.

Uploaded by

Royal chodagiri
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Lab Programmes

The document describes programs in C to perform matrix operations. It includes programs to multiply two matrices, find the transpose of a matrix, and search for an element in a row and column wise sorted matrix. The programs provide the source code, explain the algorithms, input and output matrices, and find or indicate if the search element is found.

Uploaded by

Royal chodagiri
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

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

You might also like