Ir para conteúdo

POWERED BY:

Arquivado

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

wosh1ngton

ORdenar o vetor em ordem crescente

Recommended Posts

tenho de ordenar o vetor em ordem crescente

mas só ta ordenando de 2 a 2

ou seja nao percorre todo o vetor

só faz comparação de 2 a 2

como procedo?

 

 

CODE
#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <conio.c>

 

main() {

int max=8,

ind;

float a[max],

aux;

 

for(ind=0;ind<max;ind++) {

printf("Digite o vetor de numero => %d ", ind);

printf(" ");

scanf("%f", &a[ind]);

 

}

 

for(ind=0;ind<max;ind++) {

 

if(a[ind] > a[ind + 1]) {

aux = a[ind];

a[ind] = a[ind+1];

a[ind+1] = aux;

 

 

}

printf("\nO vetor ordenado fica assim %.f", a[ind]);

}

 

system("pause");

getch();

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um monte de tópico sobre isso velho, utilize a Busca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal.

realmente tem muitos tópicos sobre isso hehe.

vou estudar cada um deles e procurar aprender.

material é o que num falta por aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Pessoal...!!!!!!!!!!!

Andei vasculhando o fórum desde tópicos antigos até os atuais, e notei que a grande maioria dos iniciantes programadores tem uma grande dificuldade em vetores -- Ordenação, intercalação, leitura,escrita, laços..

Seguinte, estou me disponibilizando a montar um material e postar aqui no fórum para tirar essas pequenas dúvidas.

 

Att

Filipe Bernardi

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai amigo, so um conselho, esqueça um pouco o bubble sorte e tente aprender um metodo mais eficaz....Bons estudos ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara, minha dica é a seguinte..

 

você pode usar 2 for

 

FOR(j=0;j<tam;j++)
  FOR(i=0;i<tam;i++)
   if(vet[i] > vet[i +1]){
		 aux = vet[i];   // usa uma variável auxiliar para fazer as trocas
		 vet[i] = vet[i + 1];
	   vet[i + 1] = vet[i];
				}

espero ter ajudado, acho mto simples essa maneira

[]' s

Compartilhar este post


Link para o post
Compartilhar em outros sites

FOR(j=0;j<tam;j++)

FOR(i=0;i<tam;i++)

if(vet > vet[i +1])

{

aux = vet; // usa uma variável auxiliar para fazer as trocas

vet = vet[i + 1];

vet[i + 1] = vet;

}

Giovanny Ritchie esse seria o método bubble sort?

 

quitZAUMMM o que são TADs ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

TAD = Tipo Abstrato de Dados!

em C seriam STRUCTS em portugol os REGISTROS!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

FOR(j=0;j<tam;j++)

FOR(i=0;i<tam;i++)

if(vet > vet[i +1])

{

aux = vet; // usa uma variável auxiliar para fazer as trocas

vet = vet[i + 1];

vet[i + 1] = vet;

}

Giovanny Ritchie esse seria o método bubble sort?

 

quitZAUMMM o que são TADs ?

 

ai velho esse é sim muito parecido com o bubble sorte, quem ver de primeira poderá dizer que está correcto, mas ali tem um errozinho. No segundo ciclo o o i nao pode chegar até ao limite do tam , mas sim até tam-1.

Porque imagune que tam fosse 7.

quando i fosse 7 ele iria verificar na condição if(vet[7]==vet[7+1]) logo a posicao 7+1 nao existe. Entao deve chegar apenas até tam-1.

Mas a essencia do bubble sorte é mesmo essa!!! Podemos considerar que esse seje o bubble sorte.

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/excl.gif Mas volto a dizer, procurm aprender 1 outro método como o quicksort! é muito mais eficaz.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou aprender o quicksort, dei uma olhada naquele algoritmo que tem no wikipedia, mas ta meio confuso de intender...

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.