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