Logo Hardware.com.br
Hyutsume
Hyutsume Novo Membro Registrado
7 Mensagens 1 Curtida

Ajuda com questão (vetor C#)

#1 Por Hyutsume 25/06/2017 - 00:17
Estou tentado fazer esta questão em C#:
Leia 20 valores e preencha um vetor com os valores pares encontrados e outro com os valores impares.
Eu até consegui preencher os vetores com os números impares, e outro com os números pares, porém quando imprimo o resultado, ele fica assim: numeros impares: 1,0,3,0,5
e com os pares: 0,2,0,4,0

int[] vetorA = new int[5];
int[] vetorPar = new int[5];
int[] vetorImpar = new int[5];


//entrada
for (int cont = 0; cont <= 4;cont++)
{
Console.WriteLine("Informe o " + (cont + 1) + " º valor: ");
vetorA[cont] = int.Parse(Console.ReadLine());
}

//processamento
for (int cont = 0; cont <= 4wink.png
{
if (vetorA[cont] % 2 == 0)
{
vetorPar[cont] = vetorA[cont];
cont++;
}
else
{
vetorImpar[cont] = vetorA[cont];
cont++;
}

}


//saida
for (int cont = 0; cont <= 4; cont++)
{
Console.WriteLine("Valores impares: " + vetorImpar[cont]);

}


for (int cont = 0; cont <= 4; cont++)
{
Console.WriteLine("Valores pares: " + vetorPar[cont]);
}
Console.ReadKey();

segue o meu codigo! Pls help! smile.png
Entre-Trópicos
Entre-Trópic... Zumbi Registrado
4.5K Mensagens 912 Curtidas
#2 Por Entre-Trópic...
25/06/2017 - 09:02
O problema é que o vetor tem tamanho fixo, e a forma como estava inserindo os valores neles,
deixava 'buracos'. Aprenda a usar o debug.

Anexo do post

Lembre-se de que C# é uma linguagem moderna, e essa sua forma de programar é 'antiga' ou iniciante(tudo bem).
Existem recursos no C# que facilitam a codificação, veja o foreach no código que passei.

Como o que você fez está quase 100%, fiz uma solução, aqui o pessoa costuma não resolver tudo para os iniciantes, ok?


int[] vetorA = new int[5]; // new int[5] = {-1,-1,-1,-1,-1}
int[] vetorPar = new int[5];
int[] vetorImpar = new int[5];

//entrada
for (int cont = 0; cont < 5; cont++)
{
Console.Write("Informe o " + (cont + 1).ToString() + "º valor: &quot;
vetorA[cont] = int.Parse(Console.ReadLine());
}

//processamento
int pares = 0, impares = 0;
for (int cont = 0; cont < 5; cont++)
{
if (vetorA[cont] % 2 == 0)
{
vetorPar[pares] = vetorA[cont];
pares++;
}
else
{
vetorImpar[impares] = vetorA[cont];
impares++;
}
}

Console.WriteLine();

//saida
for (int cont = 0; cont < impares; cont++)
{
Console.WriteLine("Valores impares: " + vetorImpar[cont]);
}

//saída
//foreach (var impar in vetorImpar)
//{
// if(impar != -1)
// Console.WriteLine("Valores impares: " + impar);
//}

for (int cont = 0; cont < pares; cont++)
{
Console.WriteLine("Valores pares: " + vetorPar[cont]);
}
Console.ReadKey();

Anexos

Entre-Trópicos
Entre-Trópic... Zumbi Registrado
4.5K Mensagens 912 Curtidas
#4 Por Entre-Trópic...
25/06/2017 - 11:20
Escolha uma linha, pressione F9(criar breakpoint), a partir daí execute passo a passo com F10.
Passe o mouse na variável para ver o conteúdo.
F5 continua a execução até o próximo breakpoint/fim do programa/ou algo que faça pedir atenção do usuário.
Se estiver num loop e não quer sair dele, coloque um breakponit fora dele, pressione F5 para ir até lá.

A versão mais recente do VS 2017 Community tem um recurso de Run to Click('breakpoint automático').
Ao colocar o mouse em qualquer linha, aparece uma opção:

Anexo do post

Minuto 2:30m.

Anexos

© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal