Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wFs

Seleção Ordenada

Recommended Posts

#include <stdio.h>#include <conio.h>#define vet 10main(){  int vetor[vet], i, j, recept=0;	  for (i = 0; i < vet; i++){	  vetor[i] = 0;  }  for (i = 0; i < vet; i++){	  printf ("\n Digite um valor:  ");	  scanf  ("%d",&vetor[i]);  }		  for (i = 0; i < vet; i++){	for (i = 0; (i + 1)< vet; i++){	  if ( i > j){		recept = vetor[i+1];		vetor[i+1] = vetor[i];		vetor[i] = recept;	  }  	}  }  for (i = 0; i < vet; i++){	  printf ("\n Selecao Ordenada:  %d", vetor[i]);  }		  getch();  return 0;   }

Alguem pode me dizer o que tem errado ai?

Eu quero que ele ordene os números, quando colocado 9, 8, 7, 6, 5, 4, 3, 2, 1. ele mude e coloque 1,2,3,4,5,6,7,8,9.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você olhar bem o seu código, esta comparação

if ( i > j)
não faz sentido, já que j não tem valor algum.

 

Você parece ter entendido a idéia, mas não conseguiu implementar direito.

 

Estude a função abaixo e repare as diferenças

for (i = 0; i < vet-1; i++){	for (j = i+1; j < vet; j++){	  if ( vetor[i] > vetor[j]){		recept = vetor[i];		vetor[i] = vetor[j];		vetor[j] = recept;
Esta deve ser o suficiente para vetores pequenos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente isso eu tinha percebido

if ( i > j)
eu soh nao sei fazer um Teste De Mesa neste tipo de algoritimo, ou esse tipo de arquivo C.

 

Valeu mesmo cara... se você puder me dar uma dica de como fazer um teste de mesa eu ficaria muito grato... =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mãos a obra.Pegue papel e caneta e vá seguindo as instruções do algoritmo para verificar se está tudo certo.Vai dar um pouco de trabalho já que é um algoritmo de ordenação =P

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.