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...

INSERTION SORT, BUBBLE SORT, SELECTION SORT

// C program for insertion sort #include <math.h> #include <stdio.h> void insertionSort(int arr[], int n);     // A utility function to print a sorted array of size n void printArray(int arr[], int n) {     int i;     for (i = 0; i < n; i++)         printf("%d ", arr[i]);     printf("\n"); }    // Driver code int main() {     int arr[15],n,i;         printf("enter number of elements in array \n");     scanf("%d", &n);         printf("enter array values to sort\n");     for(i=0; i<n; i++)     scanf("%d", &arr[i]);         insertionSort(arr, n);     printArray(arr, n);        return 0; } /* Function to sort an array using insertion sort*/ void insertionSort(int arr[], int n) {     int i, key, j;     for (i = 1; i < n; i++) ...