If you HAVE to use arrays, then you will have to use two of them. You would be doing that anyways, because you can't actually resize an array. Whenever you try that, what you are really doing is throwing out the array you have and creating a new one. Therefore, you might as well do that directly, and in one step:

Loop through the array that you have. For each item that belongs, put it in the new array. For each item that should be removed, don't put it anywhere. Once you have the new array, then assign that back to the original array.

It's a nasty piece of work. The alternative would be to use a List(of Cars). That would allow you to remove items directly, or insert them, or add them, or whatever. You could then turn that into an array with the .ToArray method. Since this is a class, it is even money that your instructor is out of date and doesn't know about the List(of T) that was added in .Net2005.