Uploaded by BIPUL TALUKDAR. #CO 010

DS Basic Operation of Array in c

advertisement
Nowgong Polytechnic
Branch: Computer Engg.
Sub.: Data Structure (Lab.)
4th Semester
Teacher Name: Lohit Kr. Gayan
Combining All Together:
/* 05: Program to perform all basic operations on arrays. */
#include<stdio.h>
#include<conio.h>
void insert();
void del();
void traverse();
void merged();
void main()
{
int n;
do
{
printf("\n**********YOUR CHOICES ARE**********\n");
printf("1. Insert\n");
printf("2. Delete\n");
printf("3. Traverse\n");
printf("4. Merged\n");
printf("5. Exit\n");
printf("Enter your choice: \n");
scanf_s("%d", &n);
switch (n)
{
case 1:
insert();
break;
case 2:
del();
break;
case 3:
traverse();
break;
case 4:
merged();
break;
case 5:
break;
default:
printf(".....Invalid choice.....");
}
} while (n != 5);
getch();
}
void insert()
{
int a[100];
int i, len, pos, num;
printf("\nHow many elements in the array: ");
scanf("%d", &len);
for (i = 0;i < len;i++)
{
printf("\nEnter no.-%d element: ", i + 1);
scanf("%d", &a[i]);
}
printf("\nEnter the element to be inserted: ");
scanf("%d", &num);
printf("\nEnter the position in the array for insertion: ");
scanf("%d", &pos);
--pos;
for (i = len;i >= pos;i--)
{
a[i + 1] = a[i];
}
a[pos] = num;
if (pos > len)
{
printf("\n...Invalid position...");
exit(0);
}
len++;
printf("\nNew Array: ");
for (i = 0;i < len;i++)
{
printf("%d\t", a[i]);
}
}
void del()
{
int a[100];
int i, n, pos, item;
printf("\nHow many elements in the array: ");
scanf("%d", &n);
for (i = 0;i < n;i++)
{
printf("\nEnter no.-%d element: ", i + 1);
scanf("%d", &a[i]);
}
printf("\nEnter the position in the array for deletion: ");
scanf("%d", &pos);
--pos;
item = a[pos];
for (i = pos;i <= n - 1;i++)
{
a[i] = a[i + 1];
}
n = n - 1;
printf("\nNew Array: ");
for (i = 0;i < n;i++)
{
printf("%d\t", a[i]);
}
}
void traverse()
{
int a[100];
int i, n;
printf("\nHow many elements in the array: ");
scanf("%d", &n);
for (i = 0;i < n;i++)
{
printf("\nEnter no.-%d element: ", i + 1);
scanf("%d", &a[i]);
}
printf("\nTraversing of the Array: ");
for (i = 0;i < n;i++)
{
printf("\n%d", a[i]);
}
}
void merged()
{
int arr1[100], arr2[100], arr3[200];
int p, q, m, n, c;
printf("\nHow many elements in the first sorted array: ");
scanf("%d", &p);
printf("\nEnter the elements in ascending order: \n");
for (m = 0;m < p;m++)
{
scanf("%d", &arr1[m]);
}
printf("\nHow many elements in the second sorted array: ");
scanf("%d", &q);
printf("\nEnter the elements in ascending order: \n");
for (n = 0;n < q;n++)
{
scanf("%d", &arr2[n]);
}
c = 0;
m = 0;
n = 0;
while ((m < p) && (n < q))
{
if (arr1[m] <= arr2[n])
arr3[c] = arr1[m++];
else
arr3[c] = arr2[n++];
c++;
}
while (m < p)
{
arr3[c] = arr1[m];
c++;
m++;
}
while (n < q)
{
arr3[c] = arr2[n];
c++;
n++;
}
printf("\nThe merged array in ascending order: ");
for (m = 0;m < c;m++)
{
printf("%d\t", arr3[m]);
}
}
Download