C Exercises: Array length, remove instances of a value
Write a C program to remove all instances of a given value from a given array of integers and return the length of the updated array.
C Code:
#include <stdio.h>
#include <stdlib.h>
static int removeElement(int *nums, int arr_size, int val)
{
int i, ctr = 0;
for (i = 0; i < arr_size; i++) {
if (nums[i] != val) {
nums[ctr++] = nums[i];
}
}
return ctr;
}
int main(void)
{
int nums[] = {1,1,2,3,4,4,5,6,6,6};
int size = sizeof(nums)/sizeof(nums[0]);
printf("Original array:\n");
int i;
int val = 4;
for (i = 0; i < size; i++) {
printf("%d ", nums[i]);
}
int new_size = removeElement(nums, size, val);
printf("\nSize of the new array after removing the value 4: %d\n",new_size);
return 0;
}
Sample Output:
Original array: 1 1 2 3 4 4 5 6 6 6 Size of the new array after removing the value 4: 8
Pictorial Presentation:
Flowchart:
C Programming Code Editor:
Contribute your code and comments through Disqus.
Previous C Programming Exercise: Remove duplicates from an array of integers.
Next C Programming Exercise: Index of first presence of a string in other.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics