Ordenar de mayor a menor, por el método de la burbuja

Leer un vector A de N elementos, ordenar de mayor a menor, por el método de la burbuja

#include<stdio.h>
#define MAX 100
int a[MAX];

void leer_vector( int a[] ){
    int n,i;
 do {
  printf("Ingrese cantidad de elementos menor a 100: ");
  scanf("%d",&n);
 } while( (n<0)||(n>MAX) );
 printf("Ingrese los valores...\n");
 for(i=1;i<=n;i++)
 { printf("A[%d]= ",i);
  scanf("%d",&a[i]);
 }
 a[0]=n;
}
void mostrar_vector( int a[] ){

    int i,n=a[0];
    for(i=1;i<=n;i++)
        printf(" - %d ",a[i]);
}
void burbuja( int a[] ){
    int i,j,aux,n=a[0];
 for(j=1;j<n;j++)
        for(i=1;i<n;i++)
            if (a[i]<a[i+1])
            { aux=a[i];
                a[i]=a[i+1];
                a[i+1]=aux;
            }
}
int main()
{ printf("\nORDENAR UN VECTOR METODO BURBUJA\n");
 leer_vector(a);
 printf("\nVector original: \n");
 mostrar_vector(a);
 burbuja(a);
 printf("\nvector ordenado: \n");
 mostrar_vector(a);
 printf("\n");
 return 0;
}

Comentarios