#include <stdio.h>
const int n=3;
void readmatrix(int arr[n][n]){
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&arr[i][j]);
}
void dispalymatrix(int arr[n][n]){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
}
void addmatrix(int a[n][n],int b[n][n],int c[n][n]){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
c[i][j]=a[i][j]+b[i][j];
}
displaymatrix(c);
}
void mulmatrix(int a[n][n],int b[n][n],int c[n][n]){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
c[i][j]=0;
for(int k=0;k<n;k++)
c[i][j]+=a[i][k]*b[k][j];
}
}
displaymatrix(c);
}
void transpose(int a[n][n],int c[n][n]){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
c[i][j]=a[j][i];
}
displaymatrix(c);
}
int main() {
int a[n][n],b[n][n],c[n][n],op;
printf("Enter Matrix A (3X3)\n");
readmatrix(a);
printf("Enter Matrix B (3X3)\n");
readmatrix(b);
printf("Matrix A\n");
displaymatrix(a);
printf("Matrix B\n");
displaymatrix(b);
printf("1.Add\n2.Multiply\n3.Transpose Matrix A\n4.Transpose Matrix B\n");
printf("Enter the option:");
scanf("%d",&op);
switch(op)
{
case 1: printf("Addition\n");
addmatrix(a,b,c);
break;
case 2: printf("Multiplication\n");
mulmatrix(a,b,c);
break;
case 3: printf("Transpose Matrix A\n");
transpose(a,c);
break;
case 4: printf("Transpose Matrix B\n");
transpose(b,c);
break;
default: printf("Wrong Choice\n");
}
return 0;
}
This is a menu-driven program for performing matrix addition, multiplication, and
finding the transpose.