Olá!
Aqui vai uma dica rápida para casos em que não desejamos usar o método Array.Reverse(seuArray)
Abaixo está todo o código que fiz, já comentado explicando o que foi feito em cada linha.
//Variáveis que receberão os valores (para testar se a inversão funcionou corretamente)
string
strNormal = "", strInvertido = "";
//Declarando
array
int[]
arrayNumeros = new int[]
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
//Guardando valores do arrayNumeros na
string strNormal para comparar a saída depois
for
(int i = 0; i < arrayNumeros.Length; i++)
{
strNormal
+= arrayNumeros[i];
}
//Declarando o novo array que receberá
os valores invertidos já com o tamanho do anterior
int[]
arrayInvertido = new int[arrayNumeros.Length];
//Pegar a última posição do
arrayNumeros e jogar na primeira do arrayInvertido
for
(int i = 0; i < arrayNumeros.Length; i++)
{
//Subtrair 1 pois os índices dos Arrays começam a partir do
0
arrayInvertido[i] = arrayNumeros[arrayNumeros.Length - 1 - i];
}
//Guardando valores do arrayInvertido
na string strInvertido para comparar a saída depois
for
(int i = 0; i < arrayInvertido.Length; i++)
{
strInvertido
+= arrayInvertido[i];
}
//Jogar as strings num label para ver
se funcionou corretamente
label1.Text = "Normal:
" + strNormal +
"\n" +
"Invertido: " +
strInvertido;
Espero que o código ajude.
Fico por aqui.
Até a próxima!
E se eu quisesse inverter o valor do índice 0 com o último, o segundo com o penúltimo, e assim sucessivamente? Poderia me ajudar com isso?
ResponderExcluirOi Mateus, tudo bom? É exatamente isso que o artigo explica. Está com dificuldade em alguma parte específica? Abraço!
ExcluirOlá João. Obrigado por responder. Eu tentava usando temp = vetor[i]; vetor[i] = vetor[j -1]; vetor[j-1] = temp;.
ExcluirNão tinha a saída esperada..Ao adaptar seu código, percebi o vetor[j -1 -i], onde j=19. Aí funcionou, mas seu código é muito mais legivel. Parabéns e sucesso.
Que bom que deu certo, Mateus. Bons estudos. Abs.
Excluir