Publicidade cabeçário

segunda-feira, 13 de maio de 2013

Estrutura de Dados - Ordenação Método de Seleção

Fala pessoal beleza? Vou colocar o programa com uma ordenação o famoso Selection Sort. Programa proposto em aula comentado =DD Se vocês quiserem mais informações acessem o Terminal de Informação tem uma matéria completa sobre o assunto.


Execução do programa
Execução do programa
fonte da imagem: bdfatec.blogspot.com.br

#include<conio.h>
#include<stdio.h>
#include<windows.h>



void algoritmo(int *v, int tamanho){
     int troca,aux,menor,cont1,cont2,indice = 0;
       
       for(cont1=0;cont1<tamanho;cont1++){
          troca = 0;
          menor = v[cont1];
          for(cont2=cont1+1;cont2<tamanho;cont2++){
              if(v[cont2]< menor){
              troca = 1;
              menor = v[cont2];      
              indice = cont2;       
              }//fim if                  
           }//fim for                 
       
                if(troca == 1){
                 aux = v[cont1];
                 v[cont1] = menor;
                 v[indice] = aux;     
                 }//fim if
       }//fim for
     
     }//fim algoritmo

void imprime(int *v,int tamanho){
     for(int iCont = 0; iCont<tamanho;iCont++) printf("\n\t %d elemento = %d",iCont+1,v[iCont]);
     
     }//fim imprime

Aqui os dois métodos. Primeiro o método que ordena ( Seleção ) e o outro que imprime em tela.


int main(){
    int vet[100];
    int nOpc,iCont=0; 
do{
printf("----------------------- Menu --------------------------------");
printf("\n\n\t1 - Inserir valor no vetor");
printf("\n\t2 - Classifica vetor");
printf("\n\t3 - Imprime vetor");
printf("\n\t0 - Sair");

printf("\n\nDigite a opcao desejada: ");
scanf("%d",&nOpc);

switch (nOpc){
case 0:
                 printf("\n\nObrigado por utilizar o programa\n\n Pressione ENTER para sair...");
                 break;
            case 1:
printf("\n\nDigite o valor desejado: ");
scanf("%d",&vet[iCont]);
printf("\n\nPressione ENTER para continuar...\n\n");
break;
case 2:
        algoritmo(&vet[0],iCont);
printf("\n\nPressione ENTER para continuar...\n\n");
break;
            case 3:
                 imprime(&vet[0],iCont-1);
                 printf("\n\nPressione ENTER para continuar...\n\n");
                 break;
            default:
                printf("\n\nOpcao Invalida \n");  
                break;  
} // fim switch
iCont++;
getch();
system("cls");
       }while(nOpc != 0);
    }//fim main

Agora com o Main e o menu do programa


Imprimindo Elementos do vetor
Imprimindo Elementos do vetor
fonte da imagem:bdfatec.blogspot.com.br
fonte: < Prof. Jean Daniel - LPII >
adaptado: arroyo, gabriel

Gostou do blog? Então segue =D 
Gostou da postagem? Então comenta ;DDD 
Fique por dentro das atualizações