miércoles, 17 de septiembre de 2014

Programa de ordenamiento burbuja


//Programa de ordenamiento burbuja.
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
# define N 20

void caso(int num[],int );
void acd (int num[],int );
void des (int num[],int );
void imprime(int num[],int );

main()

int num[N],i;
int a;
char b;
do
printf("Introduce los numeros\n");
printf("Maximo 20 numeros\n");
printf("Preisona enter cuando termines de meter los numeros\n") ;
for(i=0;i<=N-1;i++)


caso(num,i);
printf("\nOtraves?: \n 1- Si\n 2- No\n");
scanf("%d",&a);
system("cls");
while(a==1);
getchar();
getchar();
return 0;


void caso(int num[], int i)
int op;
printf("Elije el metodo a ordenar:\n");
printf("1- Acendente\n");
printf("2- Orden decentdente\n");
scanf("%d",&op);
switch(op)

case 1:

acd(num,i);
break;
case 2:
des(num,i);
break;
default:
printf("Opcion invalida");
break;

return;


void acd(int num [],int i)

int a,b,k;
for(b=1;b<=i+1;b++)

for(a=0;a<=i;a++)

if((*(num+a))>(*(num+(a+1))))

k=*(num+a);
(*(num+a))=(*(num+(a+1)));
(*(num+(a+1)))=k;



imprime(num,i);



void des (int num [],int i)

int a,b,k;
for(b=1;b<i+1;b++)

for(a=0;a<i;a++)

if((*(num+a))<(*(num+(a+1))))

k=*(num+a);
(*(num+a))=(*(num+(a+1)));
(*(num+(a+1)))=k;



imprime(num,i);

return;


void imprime(int num[], int i)
int a;
printf("Los numeros en orden: \n");
for(a=0;a<=i;a++)
printf("%d ,",*(num+a));
return;



Programa de ordenamiento burbuja

No hay comentarios:

Publicar un comentario