/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby,
C#, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS, JS
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <stdio.h>
#include <string.h>
size_t remove_element(int *arr, size_t size, int element)
{
for(size_t index = 0; index < size; )
{
if(arr[index] == element)
{
memmove(arr + index, arr + index + 1, (size - index - 1) * sizeof(*arr));
size --;
continue;
}
index++;
}
return size;
}
size_t remove_elements(int *arr, size_t arrsize, const int *elements, size_t elemsize)
{
for(size_t index = 0; index < elemsize; index++)
{
arrsize = remove_element(arr, arrsize, elements[index]);
}
return arrsize;
}
int main()
{
int h[] = {4,6,8,9,2,3,0,1,2,5,6,9,0};
int n[] = {4,0,3};
size_t size = sizeof(h) / sizeof(h[0]);
size_t newsize = remove_elements(h, size, n, sizeof(n) / sizeof(n[0]));
printf("Size Before:%zu New size %zu\n", size, newsize);
for(size_t index = 0; index < newsize; index++)
{
printf("h[%zu] = %d\n", index, h[index]);
}
return 0;
}