Problem: Write a C program to insert the given element at nth position in a array.
To solve this problem, we will assume the array is large enough to store all the elements.
#include <stdio.h>
// Function to insert an element at the nth position in an array
void insertElement(int array[], int n, int element, int position) {
// Loop through the array starting from the end
for (int i = n - 1; i >= position; i--) {
// Shift all elements to the right of the position
array[i + 1] = array[i];
}
// Insert the new element at the position
array[position] = element;
}
int main() {
// Declare an array
int array[] = {1, 2, 3, 4, 5};
int n = sizeof(array) / sizeof(array[0]); // calculate the number of elements in the array
int element = 6; // element to be inserted
int position = 3; // position where the element should be inserted
// Print the original array
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", array[i]);
}
printf("\n");
// Insert the element at the specified position
insertElement(array, n, element, position);
// Print the updated array
printf("Updated array: ");
for (int i = 0; i < n + 1; i++) {
printf("%d ", array[i]);
}
printf("\n");
return 0;
}
Output:
Original array: 1 2 3 4 5
Updated array: 1 6 2 3 4 5
This program defines a function called insertElement
that takes in an array, the number of elements in the array, an element to be inserted, and the position at which the element should be inserted.
The function uses a loop to shift all elements to the right of the specified position one spot to the right, and then inserts the new element at the specified position.
The main
function then declares an array and calls the insertElement
function to insert an element at a specified position, printing the original and updated arrays for demonstration purposes.