You are on page 1of 23

Progressive Education Society's

Modern College of Engineering, Pune


MCA Department
A.Y.2022-23
(310906) Data Structures Laboratory
*****************************************************************************
******************
Class: FY-MCA Shift / Div : A Roll Number : 51030

Name: Khandelwal Shivam Assignment No : 1 Date of Implementation :


*****************************************************************************
******************

Q.1 Write a program to find mean of n numbers using array.

Program

#include<stdio.h>

#include<conio.h>

int main()

clrscr();

int n, i;

float num[10], sum=0.0,mean;

printf("Enter numbers of element :");

scanf("d",&n);

while(n>10||n<1)

printf("Number should be in range \n");

printf("Enter number again:");

scanf("%d",&n);

}
for(i=0;i<n;++i)

printf("%d. Enter Number",i+1);

scanf("%f",&num[i]);

sum+=num[i];

mean=sum/n;

printf("Mean =%.2f",mean);

getch();

return 0;

/*Output:

Enter numbers of element :3

Enter number again:1. Enter Number5

2. Enter Number10

3. Enter Number15

Mean =10.00*/

Q.2 Write a program to interchange smallest and largest numbers using arrays.

Program

#include<stdio.h>

#include<conio.h>

void main()

{
clrscr();

int arr[20],small=0,large=0,smloc=0,larloc=0,i,n;

printf("Number I want:");

scanf("%d",&n);

printf("\n Enter Numbers:\n\n");

for(i=0;i<n;i++)

scanf("%d",&arr[i]);

printf("\n\nArray:\n\n");

small=arr[0];

for(i=0;i<n;i++){

printf("%d\n",arr[i]);

for(i=0;i<n;i++)

if(small>arr[i])

small=arr[i];

smloc=i;

if(large<arr[i])

large=arr[i];
larloc=i;

arr[smloc]=large;

arr[larloc]=small;

printf("\n\nArray after Interchange:\n\n");

for(i=0;i<n;i++){

printf("%d\n",arr[i]);

getch();

/* Output:

Number I want: 5

Enter Numbers:

Array:

6
8

Array after Interchange:

2*/

Q.3 Write a program to delete a no from from an array which is already sorted in ascending
order.

#include<stdio.h>

int main(){

int i, n, pos, num;

printf("Enter the size of array : ");

scanf("%d",&n);

int arr[n];

printf("Enter the elements of the array : ");

for (i = 0; i < n; i++) {


scanf("%d",&arr[i]);

printf("Enter the element to be deleted : ");

scanf("%d",&num);

pos = -1;

for (i = 0; i < n; i++) {

if (arr[i] == num) {

pos = i;

break;

for (i = pos; i < n-1; i++) {

arr[i] = arr[i + 1];

printf("\narray after deletion is : ");

for (i = 0; i < n - 1; i++) {

printf("%d ", arr[i]);

return 0;

}
/*

output

Enter the size of array : 5

Enter the elements of the array : 8

10

23

78

Enter the element to be deleted : 23

array after deletion is : 8 9 10 78

*/

Q.4 Write a program to read and displayn 3*3 matrix.

#include<stdio.h>

#include<conio.h>

void main()

clrscr();

int i,j;

int arr[3][3];
printf("\n\n Enter elements of Array: \n\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%d",&arr[i][j]);

printf("\n\n Elements of Array are: \n\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

printf("%d\t",arr[i][j]);

printf("\n");

getch();

/*Output:

Enter elements of Array:

234

123
567

789

12

23

34

45

Elements of Array are:

234 123 567

789 12 23

34 45 1 */

Q.5 Write a program to find transpose of a given matrix.

#include <stdio.h>

int main() {

int a[10][10], transpose[10][10], r, c;

printf("Enter rows and columns: ");

scanf("%d %d", &r, &c);

// asssigning elements to the matrix

printf("\nEnter matrix elements:\n");

for (int i = 0; i < r; ++i)


for (int j = 0; j < c; ++j) {

scanf("%d", &a[i][j]);

// printing the matrix a[][]

printf("\nEntered matrix: \n");

for (int i = 0; i < r; ++i)

for (int j = 0; j < c; ++j) {

printf("%d ", a[i][j]);

if (j == c - 1)

printf("\n");

// computing the transpose

for (int i = 0; i < r; ++i)

for (int j = 0; j < c; ++j) {

transpose[j][i] = a[i][j];

// printing the transpose

printf("\nTranspose of the matrix:\n");

for (int i = 0; i < c; ++i)

for (int j = 0; j < r; ++j) {

printf("%d ", transpose[i][j]);


if (j == r - 1)

printf("\n");

return 0;

/*

output

Enter rows and columns: 2

Enter matrix elements:

Entered matrix:

1 2

3 4

Transpose of the matrix:

1 3

2 4

*/
Q.6 Write a program to perform transpose of a sparse matrix.

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

void main(){

int a[3][3],spar[16][3],i,j,c=0,d;

clrscr();

printf("Enter the values for a Matrix :\n");

for(i=0;i<3;i++){

for(j=0;j<3;j++){

printf("\nEnter Element : ");

scanf("%d",&a[i][j]);

for(i=0;i<3;i++){

for(j=0;j<3;j++){

if(a[i][j]!=0){

spar[c][0]=a[i][j];

spar[c][1]=i;

spar[c][2]=j;

c++;

}
}

printf("Sparse Matrix : \nData\tRow\tCol");

for(i=0;i<c;i++){

printf("\n%d\t%d\t%d",spar[i][0],spar[i][1],spar[i][2]);

//transpose of the sparse matrix

for(i=0;i<c;i++){

d=spar[i][1];

spar[i][1]=spar[i][2];

spar[i][2]=d;

printf("\n\nTranspose of the Sparse Matrix :\n");

for(i=0;i<c;i++){

printf("\n%d\t%d\t%d",spar[i][0],spar[i][1],spar[i][2]);

getch();

/*

output:-

Enter Element : 0
Enter Element : 5

Enter Element : 0

Enter Element : 0

Enter Element : 4

Enter Element :

Enter Element : 0

Enter Element : 6

Sparse Matrix :

Data Row Col

5 0 2

4 1 2

6 2 2

Transpose of the Sparse Matrix :

5 2 0

4 2 1
6 2 2

*/

Q7. Write a program to perform addition of two sparse matrix.

#include<stdio.h>

#include<conio.h>

void main(){

clrscr();

int mat1[4][4],mat2[4][4],addmat[4][4],sparsemat[16][3];

int i,j,cnt=0;

printf("\nEnter Elements For 1st Matrix : \n");

for(i=0;i<4;i++){

for(j=0;j<4;j++){

scanf("%d",&mat1[i][j]);

printf("\nEnter Elements For 2nd Matrix : \n");

for(i=0;i<4;i++){

for(j=0;j<4;j++){

scanf("%d",&mat2[i][j]);

}
}

for(i=0;i<4;i++){

for(j=0;j<4;j++){

addmat[i][j]=mat1[i][j]+mat2[i][j];

if(addmat[i][j]!=0)

sparsemat[cnt][0]=addmat[i][j];

sparsemat[cnt][1]=i;

sparsemat[cnt][2]=j;

cnt++;

printf("Addition of Transpose Matrix is : \nData\tRow\tColumn");

for(i=0;i<cnt;i++)

printf("\n%d\t%d\t%d",sparsemat[i][0],sparsemat[i][1],sparsemat[i][2]);

}
getch();

/*

output of this program

Enter Elements For 1st Matrix :

0
0

Addition of Transpose Matrix is :

Data Row Column

2 3 0

4 3 1

6 3 2

*/

Q8. Write a program to perform addition of a two ponomial expressiong using arrays.

#include<stdio.h>

#include<conio.h>

void main(){

int a[10],b[10],sum[10],i,n1,n2;

clrscr();

printf("Enter the order of First Polynomial : ");

scanf("%d",&n1);

printf("Enter the order of Second Polynomial : ");


scanf("%d",&n2);

printf("Enter the First Polynomial :\n");

for(i=0;i<n1;i++)

printf("Enter Term :");

scanf("%d",&a[i]);

printf("Enter the Second Polynomial :\n");

for(i=0;i<n2;i++)

printf("Enter Term :");

scanf("%d",&b[i]);

printf("\nThe First Polynomial : ");

for(i=0;i<n1;i++){

printf("%d",a[i]);

if(i!=0)

printf("x^%d",i);

if(i<n1-1)

printf("+");

}
printf("\nThe First Polynomial : ");

for(i=0;i<n2;i++){

printf("%d",b[i]);

if(i!=0)

printf("x^%d",i);

if(i<n2-1)

printf("+");

if(n1==n2){

for(i=0;i<n1;i++){

sum[i]=a[i]+b[i];

printf("\nAddition of the polynomial is : \n");

for(i=0;i<n2;i++){

printf("%d",sum[i]);

if(i!=0)

printf("x^%d",i);

if(i<n2-1)

printf("+");

}
else{

if(n1>n2)

for(i=0;i<n1;i++){

sum[i]=a[i];

for(i=0;i<n1;i++){

sum[i]+=b[i];

printf("\nAddition of polynomical is : \n");

for(i=0;i<n2;i++){

printf("%d",sum[i]);

if(i!=0)

printf("x^%d",i);

if(i<n2-1)

printf("+");

getch();
}

/*

output:-

Enter the order of First Polynomial : 4

Enter the order of Second Polynomial : 4

Enter the First Polynomial :

Enter Term :1

Enter Term :2

Enter Term :5

Enter Term :6

Enter the Second Polynomial :

Enter Term :4

Enter Term :

Enter Term :5

Enter Term :1

The First Polynomial : 1+2x^1+5x^2+6x^3

The First Polynomial : 4+2x^1+5x^2+1x^3

Addition of the polynomial is :

5+4x^1+10x^2+7x^3
*/

You might also like