//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