Ir ao conteúdo

C# Mover elementos de um vetor


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Olá pessoal, tudo bom?

 

No meu programa, eu tenho um vetor de 10 elementos. Em um primeiro loop, eu insiro 9 valores nele, pois deixo uma posição livre,

para que o usuário entre com um valor e insira a posição que irá receber este valor. Após isso, eu quero fazer com que os elementos existentes dentro do vetor (da posição em diante) sejam deslocados de uma posição para o final.

 

Então, se ele escolher a posição 4, o 5 vai para o lugar o 6, o 6 para o 7 e assim por diante. Porém não funciona, pois  os dois últimos elementos do vetor ficam zerados.

 

O que pode estar dando de errado com meu programa?

 

static void Main(string[] args)
        {
            int[] vetor = new int[10];
            string[] valores = Console.ReadLine().Split(' ');

            for (int i = 0; i < 9; i++)
            {
                vetor[i] = int.Parse(valores[i]);
            }

            int valor = int.Parse(Console.ReadLine());
            int posicao = int.Parse(Console.ReadLine());

            vetor[posicao] = valor;

            for(int i = posicao + 1 ; i < 9; i++)
            {
                vetor[i] = vetor[i + 1];
            }

            for (int i = 0; i < 10; i++)
            {
                Console.Write(vetor[i] + " ");
            }
        }

 

  • Curtir 1
Postado

Talvez devesse postar no forum de java...

 

O loop tem um a menos, como dito. E não há garantia de que tenha de fato 1 ou 9 ou 10 itens na entrada

 

talvez deva escrever algo para orientar quem está usando  o programa saber o que digitar e quando

  • Curtir 1
  • Solução
Postado

 

@Rodrigombem7       seria interessante  se só invés de você mover is números de baixo para cima , você puxasse eles do final para o começo até a posição indicada pelo usuário , mais ou menos assim  :

for(int i = 9 ; i > posição; i--)

{

     vetor[i] = vetor[i - 1];

}

vetor[ posiao ] = valor;

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...