Помогите с решением задачки на c#
Требуется удалить из массива элементы, которые равны значению p (вводится с клавиатуры) Проблема заключается в том, что при выборе, например, значения p < 9, то после повторяющихся чисел цикл добавляет ноль
int counter = 0;
Console.Write("Введите значение P: ");
int p = Convert.ToInt32(Console.ReadLine());
int[] array = { 1, 2, 3, 4, 5, 5, 5, 6, 6, 7, 8, 9};
Console.WriteLine("Исходный массив: ");
for (int i = 0; i<array.Length; i++)
{
if (array[i] != p)
{
counter++;
}
Console.Write(array[i] + " | ");
}
Console.WriteLine();
int[] newArray = new int[counter];
for (int i = 0, j = 0; i <= newArray.Length; i++)
{
if (array[i] != p)
{
newArray[j] = array[i];
j++;
}
}
Console.WriteLine("{0}", string.Join(" | ", newArray));
Console.ReadLine();