Metodo de ordenación de la burbuja
C/Visual C
Publicado el 14 de Enero del 2003 por Sebastian (12 códigos)
9.935 visualizaciones desde el 14 de Enero del 2003
Metodo de ordenación de la burbuja.
/*Id. programa: Aleatorios 2 */
/*Autor: Nieva, Sebastian */
/*Fecha de creacion: 18/03/02 */
/*Fecha de ultima modificacion: 18/03/02 */
/*Tarea: Genera valores aleatoriamente entre 100-1000 y multiplos de 3, en
un vector de 50 posiciones y muetra el resultado ordenado con un
criterio ascendente */
/*Version: 1.0 */
/*Lenguaje: ANSI C */
/*Requerimientos: Nada */
/*Recibe: Nada */
/*Entrega: Nada */
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#define MAX 50
void generar(int *, int);
void ordenar(int *, int);
void mostrar(int *, int);
void main(void)
{
int vec[MAX];
generar(vec,sizeof(vec)/sizeof(vec[0]));
ordenar(&vec[0],sizeof(vec)/sizeof(int));//sizeof tiene que usar un vector, NO PUNTERO
mostrar(vec,sizeof(vec)/sizeof(int));
printf("\n\n\n\n\n\n\n\n\n\nVERSION 1.0\nCOPYRIGHT 2002-2010\n");
printf("PROGRAMA DESARROLLADO POR SEBASTIAN NIEVA \n");
printf("OPRIMA UNA TECLA PARA TERMINAR........");
getch();
}
void generar( int *a, int max)
{
int i; /*Uso Gral. para ciclos*/
clrscr();
printf ("\t\t\t***********************\n");
printf ("\t\t\t* Numeros Aleatorios *\n");
printf ("\t\t\t***********************\n");
printf ("\t\t - PANTALLA PRINCIPAL -\n\n\n");
srand((unsigned)time(NULL)); /*Semilla*/
for(i=0;i<max;i++,a++)
*a=(rand()%300+34)*3; /*Numeros multiplos de 3 entre 100-1000*/
}
void ordenar(int *a, int max)
{
int i,
j,
aux,
*inicio=a;//Despues de una pasada se comienza desde el principio la comparacion
for(i=1;i<max;i++,a=inicio)//Pasadas(cada pasada unde un valor, el ultimo queda por defecto)
for(j=0;j<max-1;j++,a++)//Comparaciones(max-1, asi compara el ante ultimo con el ultimo)
{
if(*a>*(a+1))
{
aux= *(a+1);
*(a+1)=*a;
*a=aux;
}
}
}
void mostrar( int *a, int max)
{
int i; /*Uso Gral. para ciclos*/
for(i=0;i<max;i++,a++)
printf("%4d\t",*a);
}
Comentarios sobre la versión: Versión 1 (0)
No hay comentarios