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]); } }