Ir para conteúdo
Fórum Script Brasil
  • 0

Ordenacao de vetores sem repetição


Fc-hardware

Pergunta

Pessoal estou estudando ordenacao de vetores e me deparei com a seguinte situação...

O programa ate ordena mas os valores aparecem repetidos... gostaria de saber se alguém poderia me ajudar.Grato.

#include <stdio.h>
int main()
{
int v[5];
int i,j,cont,aux;
cont=1;
    for (i=0;i<5;i++)
    {    
    printf("digite o %do valor:",cont);
    scanf("%d",&v[i]);
    cont++;
    }
        for (i=0;i<5;i++){
            for (j=i+1;j<6;j++)
            {
            if (v[i]>v[j])
            {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            }
            for (i=0;i<5;i++)
            printf("%d\n",v[i]);
}
return 0;
}
}

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá Fc-hardware,

No lugar de:

for (i=0;i<5;i++){
  for (j=i+1;j<6;j++)
  {
     if (v[i]>v[j])
     {
        aux=v[i];
        v[i]=v[j];
        v[j]=aux;
    }
  }
}
Você deverá usar:
for (i=0;i<4;i++){
  for (j=i+1;j<5;j++)
  {
     if (v[i]>v[j])
    {
       aux=v[i];
       v[i]=v[j];
       v[j]=aux;
    }
  }
}

Isso porque no método bolha, o primeiro 'for' deve repetir até o tamanho do 'vetor-1', no caso 4, e o segundo, até o tamanho do vetor mesmo, 5.

Abraço,

Bruno Péterson

Editado por Bruno Péterson
Link para o comentário
Compartilhar em outros sites

  • 0

Por nada. Mas o que está acontecendo é problema de chaves.

Utilize:

#include <stdio.h>
void main()
{
  int v[5];
  int i,j,cont,aux;
  cont=1;
  for (i=0;i<5;i++)
  {
    printf("digite o %do valor:",cont);
    scanf("%d",&v[i]);
    cont++;
  }
  for (i=0;i<5;i++)
  {
    for (j=i+1;j<6;j++)
    {
      if (v[i]>v[j])
      {
        aux=v[i];
        v[i]=v[j];
        v[j]=aux;
      }
    }
  }
  for (i=0;i<5;i++)
  printf("%d\n",v[i]);
}

Pode adaptar para o int main(), pois aqui utilizei o void main().

Testa e vê se dá certo agora.

Abraço,

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...