martes, 26 de noviembre de 2013

Programa 11: Shaker sort. Fernando Mtz R

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

main ()
{
    int n,i,aux;
    int *num,cont,bandera;
    
    
    printf("\n\n  Cuantos elementos habra en el arreglo:   ");
    scanf("%d",&n);
    num=(int *)malloc(sizeof(int)*n);
    
    cont=n-1;
    
    //Llenar arreglo
    system("cls");
    for(i=0;i<n;i++)
    {
        printf("\n\n  Dame el elemento #%d del arreglo: ",i);
        scanf("%d",&num[i]);
    }
    
    printf("\n\n\n");

    do
    {
        bandera=0;    
        for(i=cont;i>0;i--)
        {
            if(num[i]<num[i-1])
            {
                aux=num[i-1];
                num[i-1]=num[i];
                num[i]=aux;
                bandera=1;
            }
        }
        
        for(i=1;i<cont;i++)
        {
            if(num[i]>num[i+1])
            {
                aux=num[i+1];
                num[i+1]=num[i];
                num[i]=aux;
                bandera=1;
            }
        }
        cont=cont-1;
        for(i=0;i<n;i++)
             printf("%i  ",num[i]);
        printf("\n");
    }
    while(bandera);
    


    //IMPRIMIR ARREGLO ORDENADO
    printf("\n\n\n ***  ARREGLO ORDENADO  ***\n\n\n");
    for(i=0;i<n;i++)
    {
        printf("  %d \n",num[i]);
    }

    
    printf("\n\n\n");
}

No hay comentarios:

Publicar un comentario