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

EAMCET and ECET Web Options Guidance For Data Science, AI and Machine Learning.

EAMCET and ECET WEB OPTIONS GUIDANCE   Data Science, AI ,Machine Learning and CSE:  These NEW courses are trending now and according to the research these courses are having  tremendous  future in coming days. All these branches are sub branches of CSE and now it became separate Technologies. For video explanation click on  click here                Branch Name                                                                      Branch code 1. CSE(Artificial Intelligence and Machine Learning)                                            CSM 2. CSE...

PROGRAMMING FOR PROBLEM SOLVING LAB PROGRAMS

  PROGRAMMING FOR PROBLEM SOLVING LAB 1.     Write a simple program that prints the results of all the operators available in C (including pre/ post increment, bitwise and/or/ not, etc.). Read required operand values from standard input. 2.      Write a simple program that converts one given data type to another using auto conversion and casting. Take the values form standard input. 3.    Write a program for find the max and min from the three numbers . 4.    Write the program for the simple, compound interest. 5.   Write program that declares Class awarded for a givenpercentage of marks, where mark <40%= Failed, 40% to <60% = Second class, 60% to <70%=First class, >= 70% = distinction. Read percentage from standard input. 6.   Write a program that prints a multiplication table fora given number and the number of rows in the table. For example, for a number 5 and rows = 3, the output sh...