Anda di halaman 1dari 9

Esto e slo que encontre de ORGANISACIN 5.1.

1
EL TEMA Fundamento Algoritmos De Ordenamiento SE ENCUENTRA ESPERANDO TUS CONOCIMIENTOS. SOLO USAR BOTON EDIT ABAJO Y EMPIEZA A COLABORAR, SALUDOS Y MUCHAS GRACIAS PROF LAURO SOTO

DE

DATOS

5.1.2
#include <stdlib.h> 1. include <conio.h> 2. include <dos.h> 3. define MAX 100 //Prototipos. void burbuja(int a[],int n); void burbujam(int a[],int n); void mezc(int a[],int b[],int c[],int m,int n); void insercion(int a[],int n); void seleccion(int a[],int n); void shell(int a[],int n); int numelem(); void tipocap(int a[],int n); void captura(int a[],int n); void capinsercion(int a[],int n); void caleat(int a[],int n); void ver(int a[],int n); char menu(); int mcap(); //Principal. void main(){ int a[MAX],b[MAX],c[MAX],n,m,k; int salir=0; do { switch(menu()){ case a: case A: clrscr(); n=numelem(); tipocap(a,n); clrscr(); printf(Su Arreglo:\n);

case case

case case

case case

ver(a,n); printf(\n\nPresione Cualquier Tecla, ); printf(Para Comenzar Ordenamiento); getch(); burbuja(a,n); clrscr(); printf(Arreglo ordenado:\n); ver(a,n); getch(); break; b: B: clrscr(); n=numelem(); tipocap(a,n); clrscr(); printf(Su Arreglo:\n); ver(a,n); printf(\n\nPresione Cualquier Tecla, ); printf(Para Comenzar Ordenamiento); getch(); clrscr(); burbujam(a,n); clrscr(); printf(Arreglo ordenado:\n); ver(a,n); getch(); break; c: C: clrscr(); n=numelem(); capinsercion(a,n); clrscr(); printf(Arreglo ordenado:\n); ver(a,n); getch(); break; d: D: clrscr(); n=numelem(); tipocap(a,n);

case case

case case

clrscr(); printf(Su Arreglo:\n); ver(a,n); printf(\n\nPresione Cualquier Tecla, ); printf(Para Comenzar El Ordenamiento); getch(); seleccion(a,n); clrscr(); printf(Arreglo ordenado:\n); ver(a,n); getch(); break; e: E: clrscr(); n=numelem(); tipocap(a,n); clrscr(); printf(Su Arreglo:\n); ver(a,n); printf(\n\nPresione Cualquier Tecla, ); printf(Para Comenzar El Ordenamiento); getch(); shell(a,n); clrscr(); printf(Arreglo ordenado:\n); ver(a,n); getch(); break; f: F: clrscr(); printf(Arreglo N1\n); m=numelem(); tipocap(a,m); printf(Arreglo N1:\n); ver(a,m); clrscr(); printf(Ordenando Arreglo N1\n); (1500); seleccion(a,m); clrscr();

(1500);

ver(a,m); clrscr(); printf(Arreglo N2\n); (1500); n=numelem(); tipocap(b,n); printf(Arreglo N2:\n); ver(b,n); clrscr(); printf(Ordenando Arreglo N2\n); (1500); seleccion(b,n); clrscr(); ver(b,n); clrscr(); gotoxy(28,10); printf(Mezclando); mezc(a,b,c,m,n); (1500); clrscr(); gotoxy(23,10); printf(Arreglos Mezclados.); (1500); clrscr(); printf(Ordenado por el Metodo de Mezcla.\n); k=m+n; ver(c,k); getch(); break; case s: case S: salir=1; break; default: printf(Opcion No Valida.); getch(); break; } }while(salir!=1); clrscr(); gotoxy(10,15); printf(Ana Gabriela Hernandez Ramirez.); getch();

} //Funciones de Prototipos. void tipocap(int a[],int n){ switch(mcap()){ case 1: captura(a,n); break; case 2: caleat(a,n); break; } } void capinsercion(int a[],int n){ int i; for(i=0;i<n;i++){ a[i]=20000; } for(i=0; i<n; i++){ printf(Elemento %d: , i+1); scanf(%d,& a[i]); insercion(a,n); } } char menu(){ char opc; clrscr(); printf(Menu de Metodos de Ordenamiento.\n\n); printf(a) Burbuja Simple.\nb) Burbuja Mejorada.\n); printf(c) Insercion.\nd) Seleccion.\ne) Shell.\n); printf(f) Mezcla.\ns) Salir.\n\nMetodo a Utilizar: ); fflush(stdin); scanf(%c, &opc); return(opc); } int mcap(){ int cap; clrscr(); printf(Modo de Captura.\n\n); printf(1) Manual.\n2) Aleatoria.\n); printf(\nCaptura de forma: ); scanf(%d, &cap); return(cap);

} int numelem(){ int elems; clrscr(); printf(Numero de elementos: ); scanf(%d, &elems); return(elems); } void captura(int a[],int n){ int i; for(i=0;i<n;i++){ printf(Elemento %d: ,i+1); scanf(%d, &a[i]); } } void caleat(int a[], int n){ int i; randomize(); for(i=0;i<n;i++){ a[i]=(rand()%100); } } void ver(int a[], int n){ int i; for(i=0;i<n;i++){ printf(Elemento d\n,i+1, a[i]); } (1600); } void burbuja(int a[],int n){ int i,j,k=0,aux; for(i=0;i<=n;i++){ clrscr(); printf(Pasada N%d\n,k); k++; for(j=0;j<n-i;j++){ if(a[j]>a[j+1]){ aux=a[j];

a[j]=a[j+1]; a[j+1]=aux; } printf(\n); ver(a,n); } } } void burbujam(int a[],int n){ int i,j=0,band=1,aux; while(j<n && band==1){ band=0; for(i=0;i<n;i++){ if(a[i]>a[i+1]){ aux=a[i]; a[i]=a[i+1]; a[i+1]=aux; band=1; } } printf(\nPasada N%d\n,j); ver(a,n); j++; } } void insercion(int a[],int n){ int i,j,aux; for(i=1; i<n; i++){ j=i; aux=a[i]; while(j>0 && aux<a[j-1]){ a[j]=a[j-1]; j; } a[j]=aux; } printf(Los Elementos son:\n ); for(j=0; j<n; j++) printf(%d\n ,a[j]); getch();

clrscr(); } void seleccion(int a[],int n){ int i=0,j=0,x=0,im,aux; for(i=0;i<n-1;i++){ x++; im=i; for(j=i+1;j<n;j++){ if(a[j]<a[im]){ im=j; } } aux=a[i]; a[i]=a[im]; a[im]=aux; clrscr(); printf(Pasada N%d:\n,x); ver(a,n); } } void shell(int a[],int n){ int inter=(n/2),x=0,i=0,j=0,k=0,aux; while(inter>0){ for(i=inter;i<n;i++){ x++; j=i-inter; while(j>=0){ k=j+inter; if(a[j]<=a[k]){ j; } else{ aux=a[j]; a[j]=a[k]; a[k]=aux; j=j-inter; } } clrscr(); printf(Pasada N%d:\n,x); ver(a,n);

} inter=inter/2; } } void mezc(int x[],int y[],int z[],int m,int n){ int i=0,j=0,k=0; while((i<=m)&&(j<n)){ if(x[i]<=y[j]){ z[k]=x[i]; i++; } else{ z[k]=y[j]; j++; } k++; } if(i!=m){ do{ z[k]=x[i]; k++; i++; } while(i<=m); } else { do{ z[k]=y[j]; k++; j++; } while(j<=n); } }

Anda mungkin juga menyukai