Помогите с решением задачки на 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();

Ответы (0 шт):