You can't resize an ordinary array unless it has been created on the heap. If you reallocate it, you have to be prepared to update the pointer to its (possibly new) location, and remember to free it. You can, of course, remove unwanted values and modify the size variable. That won't actually resize the array, and you can't lengthen it.

To do that, you would begin at the beginning, find the first value to be tossed, copy all elements from the next to the end of the array from that location onward, begin from there, wash, rinse, and repeat until done. It would require a little more code to zero-out from the new end to the old end.

Since you're using C++, I would recommend a vector (from the STL). This is a class with array features, much like a string-class string.

If you want to do it either way, toss some code here and ask about any problems you may have.