BANGABANDHU SEIKH MUJIBUR
RAHMAN DIGITAL UNIVERSITY,
Kaliakair,Gazipur.
Assignment:
Course No: PROG-102
Course Title: Structured Programming
Language (sessional)
Assignment On: Multidimensional matrix operation
Submitted By: Submitted to:
Name: Suwaybid Ahmmed Md. Moshiur Rahman,
Muaz Lecturer,
Id: 2201020 Depertment of IRE,
Depertment : Internet of Bangabandhu Seikh Mujibur
Things and Robotics Rahman Digital University
Engineering
Session : 2022-2023
1. Write a program in C to accept two matrices and
check whether they are equal
#include <stdio.h>
int main(){
int mat1[50][50], mat2[50][50];
int i, j, r1, c1, r2, c2, count = 1;
printf("Input Rows and Columns of the 1st matrix :");
scanf("%d %d", &r1, &c1);
printf("Input Rows and Columns of the 2nd matrix :");
scanf("%d %d", &r2,&c2);
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",&mat1[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",&mat2[i][j]); } }
printf("The first matrix is :\n");
for(i=0;i<r1;i++)
{ for(j=0;j<c1 ;j++)
printf("% 4d",mat1[i][j]);
printf("\n"); }
printf("The second matrix is :\n");
for(i=0;i<r2;i++)
{ for(j=0;j<c2 ;j++)
printf("% 4d",mat2[i][j]);
printf("\n"); }
if(r1 == r2 && c1 == c2) {
printf("The Matrices can be compared : \n");
for(i=0; i<r1; i++)
{ for(j=0; j<c2; j++)
{ if(mat1[i][j] != mat2[i][j])
{ count = 0;
break;
} } } }
else
{ printf("The Matrices Cannot be compared :\n"); }
if(count == 1 ){ printf("Two matrices are equal.\n\n"); }
else{ printf("But,two matrices are not equal\n\n"); }
return 0; }
2. Write a program in C to check whether a given matrix
is an identity matrix
#include <stdio.h>
int main(){
int arr1[10][10];
int r1,c1;
int i, j, id =1;
printf("Input number of Rows for the matrix :");
scanf("%d", &r1);
printf("Input number of Columns for the matrix :");
scanf("%d",&c1);
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("The matrix is :\n");
for(i=0;i<r1;i++)
{ for(j=0;j<c1 ;j++)
printf("% 4d",arr1[i][j]);
printf("\n"); }
for(i=0; i<r1; i++)
{ for(j=0; j<c1; j++)
{ if(arr1[i][j] != 1 && arr1[j][i] !=0){ id = 0;
break; }}}
if(id == 1 ){
printf(" The matrix is an identity matrix.\n\n");
else { printf(" The matrix is not an identity matrix.\n\n"); }
return 0; }
3. Write a program in C to print or display an upper
triangular matrix
#include <stdio.h>
int main(){
int arr1[10][10],i,j,n;
printf("Input the size of the square matrix : ");
scanf("%d", &n);
printf("Input elements in the first matrix :\n");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{ printf("element - [%d],[%d] : ",i,j);
scanf("%d",&arr1[i][j]); }}
printf("The matrix is :\n");
for(i=0;i<n;i++){
for(j=0;j<n ;j++)
{ printf("% 4d",arr1[i][j]);
printf("\n"); }}
printf("\nupper triangular matrix\n");
for(i=0;i<n;i++)
{ printf("\n");
for(j=0;j<n;j++){ if(i<=j){ printf("% 4d",arr1[i][j]); }
else{ printf("% 4d",0); }}
printf("\n\n"); }
return 0; }
4. Write a program in C to find the sum of rows and
columns of a matrix
#include <stdio.h>
void main() {
int i,j,k,arr1[10][10],rsum[10],csum[10],n;
printf("Input the size of the square matrix : "); scanf("%d", &n);
printf("Input elements in the matrix :\n");
for(i=0;i<n;i++) { for(j=0;j<n;j++)
{ printf("element - [%d],[%d] : ",i,j);
scanf("%d",&arr1[i][j]); }}
printf("The matrix is :\n");
for(i=0;i<n;i++)
{ for(j=0;j<n ;j++)
printf("% 4d",arr1[i][j]);
printf("\n"); }
/* Sum of rows */
for(i=0;i<n;i++)
{ rsum[i]=0;
for(j=0;j<n;j++)
rsum[i]=rsum[i]+arr1[i][j]; }
/* Sum of Column: */
for(i=0;i<n;i++)
{ csum[i]=0;
for(j=0;j<n;j++)
csum[i]=csum[i]+arr1[j][i]; }
printf("The sum or rows and columns of the matrix is :\n");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("% 4d",arr1[i][j]);
printf("% 8d",rsum[i]);
printf("\n"); }
printf("\n");
for(j=0;j<n;j++) { printf("% 4d",csum[j]); }
printf("\n\n"); }
5. Write a program in C to find the sum of the left
diagonals of a matrix
#include <stdio.h>
void main()
{
int i,j,arr1[50][50],sum=0,n,m=0;
printf("Input the size of the square matrix : ");
scanf("%d", &n);
m=n;
printf("Input elements in the first matrix :\n");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{ printf("element - [%d],[%d] : ",i,j);
scanf("%d",&arr1[i][j]); }}
printf("The matrix is :\n");
for(i=0;i<n;i++)
{ for(j=0;j<n ;j++)
printf("% 4d",arr1[i][j]);
printf("\n"); }
/* calculate the sum of left diagonals*/
for(i=0;i<n;i++)
{ m=m-1;
for(j=0;j<n ;j++)
{ if (j==m)
{ sum= sum+arr1[i][j]; }}}
printf("Addition of the left Diagonal elements is :%d\n",sum); }