Experiment-1
Program on traversing & searching an element in the array.
#include <stdio.h>
int main() {
int arr[100], n, i, searchElement, found = 0;
printf("Enter number of elements in the array: ");
scanf("%d", &n);
printf("Enter %d elements:\n", n);
for(i = 0; i < n; i++) {
printf("Element [%d]: ", i);
scanf("%d", &arr[i]);
printf("\nArray elements are:\n");
for(i = 0; i < n; i++) {
printf("%d ", arr[i]);
printf("\n\nEnter the element to search: ");
scanf("%d", &searchElement);
for(i = 0; i < n; i++) {
if(arr[i] == searchElement) {
printf("Element %d found at index %d (position %d).\n", searchElement, i, i+1);
found = 1;
break;
if(!found) {
printf("Element %d not found in the array.\n", searchElement);
}
return 0;
}
Experiment-2
Write a program to insert a new element in the given unsorted array at kth position.
#include <stdio.h>
int main() {
int arr[100], n, i, element, position;
printf("Enter number of elements in the array: ");
scanf("%d", &n);
printf("Enter %d elements:\n", n);
for(i = 0; i < n; i++) {
printf("Element [%d]: ", i);
scanf("%d", &arr[i]);
printf("Enter the element to insert: ");
scanf("%d", &element);
printf("Enter the position to insert at (1 to %d): ", n + 1);
scanf("%d", &position);
if(position < 1 || position > n + 1) {
printf("Invalid position!\n");
return 1;
for(i = n; i >= position; i--) {
arr[i] = arr[i - 1];
arr[position - 1] = element;
n++;
printf("\nArray after insertion:\n");
for(i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
Experiment-3
Write a program to delete an element from given sorted array.
#include <stdio.h>
int deleteFromSortedArray(int arr[], int size, int key) {
int i, pos = -1;
for (i = 0; i < size; i++) {
if (arr[i] == key) {
pos = i;
break;
if (pos == -1) {
printf("Element %d not found in the array.\n", key);
return size;
for (i = pos; i < size - 1; i++) {
arr[i] = arr[i + 1];
printf("Element %d deleted successfully.\n", key);
return size - 1;
int main() {
int arr[100], size, i, key;
printf("Enter the number of elements in the sorted array: ");
scanf("%d", &size);
printf("Enter %d elements in sorted order:\n", size);
for (i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
printf("Enter the element you want to delete: ");
scanf("%d", &key);
size = deleteFromSortedArray(arr, size, key);
printf("Array after deletion:\n");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
printf("\n");
return 0;
}
Experiment-4
Write a program to merge two given sorted arrays.
#include <stdio.h>
void mergeArrays(int arr1[], int size1, int arr2[], int size2, int merged[]) {
int i = 0, j = 0, k = 0;
while (i < size1 && j < size2) {
if (arr1[i] < arr2[j]) {
merged[k++] = arr1[i++];
} else {
merged[k++] = arr2[j++];
while (i < size1) {
merged[k++] = arr1[i++];
while (j < size2) {
merged[k++] = arr2[j++];
int main() {
int arr1[100], arr2[100], merged[200];
int size1, size2, i;
printf("Enter size of first sorted array: ");
scanf("%d", &size1);
printf("Enter elements of first sorted array:\n");
for (i = 0; i < size1; i++) {
scanf("%d", &arr1[i]);
}
printf("Enter size of second sorted array: ");
scanf("%d", &size2);
printf("Enter elements of second sorted array:\n");
for (i = 0; i < size2; i++) {
scanf("%d", &arr2[i]);
mergeArrays(arr1, size1, arr2, size2, merged);
printf("Merged sorted array:\n");
for (i = 0; i < size1 + size2; i++) {
printf("%d ", merged[i]);
printf("\n");
return 0;