Ir para o conteúdo
pr0zin

vetor em C

Mensagens Recomendadas

pr0zin

Boas, sera que me podem esclarecer uma coisa mesmo rapida?

Como posso eu remover as repetiçoes num vetor de inteiros, por exemplo este vetor: [1 , 2 ,1 ,1 ,3, 6, 2, 2 ,7 ] ficava assim: [1,2,3,6,7]

Abraco

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

resposta rápida : com um ciclo

resposta lenta : tens pelo menos duas maneiras

- ordenas o array para teres os elementos repetidos juntos e assim é fácil encontrar-los

- guardas num segundo array os elementos encontrados e vais verificando se o elemento iterado já se encontra nesse array

para remover, ou crias um segundo array com o resultado correcto, ou copias o array restante da iteração para "cima" do elemento duplicado tendo em conta que terás de actualizar algumas variáveis para o programa dar certo


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Eu faria um vetor novo com tamanho suficiente para todos os elementos do vetor original.

Depois copiava o primeiro elemento do vetor original para o novo vetor.

Depois, num ciclo, verificava se o elemento seguinte existia no novo vetor: se existisse passava ao seguinte, se nao existisse copiava para uma nova posicao do novo vetor.

Para aumentar a performance da fase de pesquisa, experimenta meter os valores nao repetidos na posicao orddenada, arrastando todos os maiores uma posicao para a frente (mas so deves notar alguma diferenca (para melhor ou pior) a partir de milhares de elementos).


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.