Engenharia da Computação

Fórum de toda Engenharia da Computação da UNIG
 
InícioPortalFAQBuscarRegistrar-seMembrosGruposLogin

Compartilhe | 
 

 Programa para ordenar um vetor em C

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Miqueloti



Número de Mensagens: 27
Idade: 23
Data de inscrição: 01/03/2008

MensagemAssunto: Programa para ordenar um vetor em C   Sex 30 Maio 2008, 1:01 pm

Estou aqui desocupado em meu trabalho, então resolvi tentar fazer um programa de pesquisa binária, o primeiro passo é coletar os dados e ordenar o vetor, o que foi o um problema, pois não sabia como, e depois de bater a cabeça um pouco descobri a solução, então resolvi compartilhar para que outros que assim como eu não entenderam como organizar um vetor, possam compreender como funciona esta troca.

Espero que esteja bem esclarecido, tentei facilitar bem a explicação com os comentários, caso fique alguma duvida perguntem que eu tento explicar melhor, e quando o código do programa de pesquisa binária estiver pronto eu postarei aqui também pra vocês!

Código:

/*Programa em para preencher um vetor de 5 posições, e ordenar em ordem
crescente todos os elementos*/
#include <stdio.h>
#include <conio.h>
int vetnum[5],i,j,aux;/*vetor, contadores, variavel auxiliar p/ troca
de elementos no vetor*/
int main ()
{
    for(i=0;i<5;i++)//coleta de dados
    {
        printf("Digite o valor %d: ",i+1);
        scanf("%d",&vetnum[i]);
    }
    for(i=0;i<5;i++)/*Executa o for abaixo por 5 vezes para que ordene
todo o vetor*/
        for(j=0;j<4;j++)/*Troca a posição x pela posição x+1 até o
x ser o penultimo elemento do vetor para trocar com o ultimo*/
        {
            if(vetnum[j]>vetnum[j+1])/*se a posição atual for maior
que a posição posterior*/
            {
                aux=vetnum[j+1];//auxiliar recebe posição posterior
                vetnum[j+1]=vetnum[j];//P.Posterior recebe P.Atual
                vetnum[j]=aux;//P.Atual
            }
        }
    for(i=0;i<5;i++)//imprime os elementos ordenados para o usuário
    printf("O Valor %d: %d\n",i+1,vetnum[i]);
    getch(); 
}
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Zed [ADM-Daniel]
[Administrador]


Número de Mensagens: 87
Idade: 23
Data de inscrição: 17/02/2008

MensagemAssunto: Re: Programa para ordenar um vetor em C   Seg 02 Jun 2008, 11:37 pm

Uia, Miqueloti está treinando bem na programação ;P
Boa, tbm preciso praticar mais em vez de só ser na sala de aula =x
Mas engraçado, fui lendo aqui sua forma de colocar, é um pouco diferente da minha, mas olhei tudo aqui, e acho que daria no mesmo.

Código:
#include <stdio.h>
#include <conio.h>
int vetnum[5],i,j,aux;
int main ()
{
    for(i=0;i<5;i++)
    {
        printf("Digite o valor %d: ",i+1);
        scanf("%d",&/*numero(Caso use o compilador da UNIG apague vetnum[i] e deixe numero)*/vetnum[i]);
    /*vetnum[i]=numero(Caso use o compilador da UNIG essa parte deixa de ser comentário*/
    }
    for(i=0;i<4;i++)
      { 
        for(j=i+1;j<5;j++)
        {
            if(vetnum[i]>vetnum[j])
            {
                aux=vetnum[i];
                vetnum[i]=vetnum[j];
                vetnum[j]=aux;
            }
        }
    printf("O Valor %d: %d\n",i+1,vetnum[i]);
      }
    getch(); 
}

_________________
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://unigengcom.phpbbonline.com
 

Programa para ordenar um vetor em C

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1

 Tópicos similares

-
» Programa para recuperar ficheiros apagados
» Vetor Fiat Strada Adventure
» Perfil para EMO
» Regras Para Cop's
» Hacker para GTA SAMP

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Engenharia da Computação :: Períodos :: 3º Período :: LTPII - Linguagem C-