viernes, 30 de noviembre de 2007

ShOuNdErSmEtHoD


//Método de la burbuja (ordena números de menor a mayor)
#include {stdio.h}
#include {conio.h}
#define MAX 10

void burbuja (void);
int compara (int[], int*);

void main ()
{
burbuja();
system("PAUSE") ;
}

void burbuja (void)
{
int i, p, h, a[MAX], pos= 1;
printf("\t\tINTRODUCE DIEZ DIGITOS\n\n") ;
for ( i = 0 ; i < MAX ; i++ )
{
printf("\tIntroduce el numero %d: ",i+1);
scanf("%d",&a[i]);
}
while (compara(a,&pos));
for ( p = 1 ; p <= MAX-pos ; p++ )
for ( i = 0 ; i <= MAX-pos-1 ; i++ )
if (a[i] > a[i+1])
{
h= a[i];
a[i]= a[i+1];
a[i+1]= h;
}
printf("Valores ordenados: ");
for ( i = 0 ; i < MAX ; i++ )
printf("%d ",a[i]);
}
int compara ( int a[], int *pos )
{
int i ;
for( i = 0 ; i < MAX-(*pos) ; i++ )
if ( a[MAX-(*pos)] < a[i] )
return 0 ;

if ( *pos < MAX )
return ++(*pos) ;

else
return 0 ;
}

No hay comentarios: