Создание нового массива (evenArr), содержащего только четные элементы исходного массива(array)

    int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    int evenCount = 0;
    for (int i = 0; i < array.Length; i++)
    {
       if(array[i] % 2 == 0){evenCount++}
    }
    int[] evenArr = new int[evenCount];
    for (int i = 0, j = 0; i < array.Length; i++)
    {
       if (array[i] % 2 == 0)
       {
           evenArr[j++] = array[i];
       }
    }
        Console.WriteLine(String.Join(", ", evenArr));
) выдает RangeError
// Использование ArrayList запрещено
// Использовать методы класса Array запрещено
// Разрешено использовать только циклы и условные операции

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

Автор решения: MBo

Вы используете один индекс для обоих массивов, а нужны разные

for(int i = 0, int j = 0; i < array.Length; i++)
{
    if (array[i] % 2 == 0)
    {
        evenArr[j++] = array[i];
    }
}
→ Ссылка