An array is a collection of data items with the same data type stored in sequential memory locations, which is indexed by a common variable. A one-dimensional array is a list, and a two-dimensional array is a matrix.
For example, int arr[20] is one-dimensional, and int mat[10][10] is two-dimensional. Here we are given an array and We have to split that into two using that key value and then add the first half to the end of the second half.
For that, we accept the values for the array from the user. Now we accept the position that the user wants to split and save that value in a variable. Start a nested for loop
;
Finally, display the result.
STEP 1: Include the header files to use the built-in functions in the C program.
STEP 2: Declare the integer variables i, j, n, split_index, and the array number[30].
STEP 3: Read the value of n into the variable 'n'.
STEP 4: Read the numbers from the user and save them into number[i] using for loop
.
STEP 5: Read the position where the user wants to split into the variable split_index.
STEP 6: By using a for loop
with the condition i < split_index
STEP 7: number[n] = number[0]
STEP 8: By using another for loop
with the condition j < n
STEP 9: number[j] = number[j+1].
STEP 10: Increment j by 1 and do step 8.
STEP 11: Increment i by1 and do step 6.
STEP 12: Display the resultant as the number[i] using for loop
.
To split an array, we use the below concepts in C programming, we recommend you to learn those for better understanding
#include <stdio.h>
void main()
{
int number[30];
int i, n, split_index, j;
printf("Enter the value of n\n"); /* enter the value */
scanf("%d", & n);
printf("enter the numbers\n");
for (i = 0; i < n; ++i)
scanf("%d", & number[i]);
printf("Enter the position of the element to split the array \n"); /* accept the position where user wants to split */
scanf("%d", & split_index );
for (i = 0; i < split_index ; ++i)
{
number[n] = number[0];
for (j = 0; j < n; ++j)
{
number[j] = number[j + 1]; /* changing the position of the elements */
}
}
printf("The resultant array is\n");
for (i = 0; i < n; ++i)
{
printf("%d\n", number[i]);
}
} /* End of main() */
Enter the value of n 5 enter the numbers 30 10 40 50 60 Enter the position of the element to split the array 2 The resultant array is 40 50 60 30 10