Skip to main content

PROGRAMMING FOR PROBLEM SOLVING LAB : Program 10

Write a C program  to perform the following:
i.  Addition of Two Matrices 
ii.  Multiplication of Two Matrices

iii. Write a C program that uses functions to perform the Transpose of a matrix with memory dynamically allocated for the new matrix as row and column counts may not be same.

#include<stdio.h> 
#include<conio.h>
void read_arr(int a[10][10],int row,int col)
{
int i,j; for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{
printf("Enter Element %d %d : ",i,j); 
scanf("%d",&a[i][j]);
}
}
}
void add_arr(int m1[10][10],int m2[10][10],int m3[10][10],int row,int col)
{
int i,j; 
for(i=1;i<=row;i++)
 {
for(j=1;j<=col;j++)
{
m3[i][j] = (m1[i][j] + m2[i][j]);
}
}
}
void mul_arr(int m1[10][10],int m2[10][10],int m3[10][10],int row,int col)
{
int i,j,k;
for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{ m3[i][j]=0;
for (k=1;k<=row;k++)
{
m3[i][j] = m3[i][j] + (m1[i][k] * m2[k][j]);
}
}
}
}
void print_arr(int m[10][10],int row,int col)
{
int i,j; for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{
printf("%d ",m[i][j]);
}
printf("\n");
}
}
void transpose(int m[10][10],int row,int col)
{
int i,j; for(i=1;i<=row;i++)
{
for(j=1;j<=col;j++)
{
printf("%d ",m[j][i]);
}
printf("\n");
}
}
void main()
{
 int m1[10][10],m2[10][10],m3[10][10],row,col;
clrscr();
printf("Enter number of rows :"); 
scanf("%d",&row);
printf("Enter number of colomns :"); 
scanf("%d",&col); read_arr(m1,row,col);
printf("\n THE A MATRIX ELEMENTS:\n");
print_arr(m1,row,col); 
read_arr(m2,row,col);
printf("\n THE B MATRIX ELEMENTS:\n");
print_arr(m2,row,col); 
add_arr(m1,m2,m3,row,col); 
printf("\n MATRIX ADDITION\n"); 
print_arr(m3,row,col); 
mul_arr(m1,m2,m3,row,col);
printf("\n MATRIX MULTIPLICATION:\n");
print_arr(m3,row,col);
printf("\n Transpose of MATRIX\n"); 
transpose(m3,row,col);
getch();

output:
Enter number of rows :2
Enter number of colomns :2
Enter Element 1 1 : 12
Enter Element 1 2 : 10
Enter Element 2 1 : 21
Enter Element 2 2 : 25
THE A MATRIX ELEMENTS:
12 10 
21 25 
Enter Element 1 1 : 21
Enter Element 1 2 : 13
Enter Element 2 1 : 15
Enter Element 2 2 : 17
THE B MATRIX ELEMENTS:
21 13 
15 17 

 MATRIX ADDITION
33 23 
36 42 

 MATRIX MULTIPLICATION:
402 326 
816 698 

 Transpose of MATRIX
402 816 
326 698

Comments

Popular posts from this blog

Learning and Development Interview Questions and answers for Mathematics-1.

  1). What is Mean, Mode and Median? Solution Answer: The mean is the average of a  collection of numbers or terms in a sequence. To calculate the mean use a formula is sum of total terms divided  by number of terms. The mode  is the most f requent number or term in a sequence. It means the number that occurred  highest number of times  in a sequence. To find the mode arrange the numbers in ascending or descending order and verify which number repeated most number of times in a sorted sequence. The median is the middle number/term where the sequence is arranged in ascending or descending order. If the sorted sequence have odd number of terms then  divide by 2 and round up to get the position of the median number.  If the  sorted sequence  have  even  number of terms then  divide by 2  to get the position of the median number.  2 ). What is the Difference between Fractional and Rational number? Solu...