Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Atividade

 for (int i = 0; i < numeros.Length - 1; i += 2)
                                    ^-- Por que precisa desse -1 ?
 for (int i = 0; i < numeros.Length - 1; i += 2)
                                            ^-- E por que é i += 2 ?
1 resposta
solução!

Olá Victor, tudo bem?

numeros.Length retorna a quantidade de registros. Se no caso tem um número ímpar, por exemplo com 9 registros, você delimita com um a menos da quantidade total, então só iria contar os 4 primeiros pares, ignorando o último para não ocorrer um erro referente ao quinto par que só teria um valor:

[1] + [2]
[3] + [4]
[5] + [6]
[7] + [8]
[9] + [não existe]  este índice não existe e dará erro

Por isso que no código acima pega a quantidade de valores e tira o último.

Caso tiver um numero par, não tem problema ignorar o último valor, porque só pega o primeiro de cada par para fazer a soma. Com 8 registros ficaria assim:

[1] + [2]
[3] + [4]
[5] + [6]
[7] + [8]  compila normalmente

O grande motivo do acrescimo do contador ser i += 2 é que sempre irá pegar os números ímpares que contém seus respectivos pares, pulando de 2 em 2.

Como o código irá pegar pares de valorespoderiamos colocar assim:

Primeira iteração, pegará o primeiro valor e somará com o valor seguinte (segundo valor), depois como o segundo valor já entrou na conta, ele deverá ser pulado. Segunda iteração, pegará o terceiro valor, que é o primeiro valor do segundo par e somará com o segundo valor do segundo par (terceiro e quarto valor do array). E assim por diante.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software