Tutorial para ordenar números con ordenamiento de burbuja en C

Este código nos sirve para ordenar números de mayor a menor, los números que se ordenan son los ingresados por el usuario.

El código es el siguiente:

//Ordenamiento de números con vectores
#include <stdio.h>
#include <conio.h>
void burbuja(int a[],int n);
int main(void)
{
 int const n=4;
 int i,a[n];
 for(i=0;i<n;i++)
 {
 printf("Ingrese el %d numero=",i+1);
 scanf("%d",&a[i]);
 }
 burbuja(a,n); 
 printf("\nNumeros ordenados:\n");
 for(i=0;i<n;i++)
 printf("%d digito=%d\n",i+1,a[i]); 
 getch();
 return 0;
 }
 void burbuja(int a[],int n)
 {
 int i,j,aux;
 for(i=0;i<n-1;i++)
 for(j=i+1;j<n;j++)
 if(a[i]<a[j])
 {
 aux=a[i];
 a[i]=a[j];
 a[j]=aux;
 }
}

En este código utilizamos un método llamado ordenamiento de  burbuja, se trata de un algoritmo que cambia la posición de los valores para ordenarlos ya sea de mayor a menor o de menor a mayor. Es muy utilizado para programas que colectan muchos datos y estos deben ordenarse.

En el código se crea una función llamada burbuja que contiene las variables enteras a y b, en la función main, el programa pide los datos, en este caso 4 pero se puede modificar este valor editando la variable const.

Con ciclos for se hace el ordenamiento respectivo para después imprimir el resultado en pantalla.


Gracias por apoyar el libre conocimiento con tu donación!
Bitcoin: bc1q4sw9260twfcxatj8mjp7358cyvrf8whzlelyhj
Ethereum: 0xFb93D2a3c9d1A0b83EE629c2dE1725BCa192e581
Litecoin: LbFduJmHvQXcpCnwfUT7aJ4DYoWSL3iQw8
Dogecoin: D7QQVqNR5rk215A4zd2gyzV9P2bLQtZHFV
Transferencia bancaria en México:
Cuenta CLABE: 646180192143715428 Nombre: Masterhacks LATAM Banco: STP

Una respuesta a “Tutorial para ordenar números con ordenamiento de burbuja en C”

  1. Mira calcular rfc bien hecho segun yo 🙂 en c-free

    #include
    #include
    #include
    #include
    int main (void)
    {
    char nom[15], nom2[15], ape[15], ape2[15], f[10]={0},rfc[11], txt;
    int x=0;
    printf(«\n\t Ingrese el nombre:\t»);
    while((txt=getch())!=13)
    {
    if (isalpha(txt))
    {
    nom[x]=txt;
    printf(«%c» , nom[x]);
    x=x+1;
    }
    if(txt==8)
    {
    if(x>0)
    {
    printf(«\b \b»);
    x=x-1;
    nom[x]=»;
    }
    }
    }
    x=0;
    printf(«\n\tIngrese segundo nombre:\t»);
    while((txt=getch())!=13)
    {
    if(isalpha(txt))
    {
    nom2[x]=txt;
    printf(«%c», nom2[x]);
    x=x+1;
    }
    if(txt==8)
    {
    if(x>0)
    {
    printf(«\b \b»);
    x=x-1;
    nom2[x]=»;
    }
    }
    }
    x=0;
    printf(«\n\t Ingrese apellido parterno:\t»);
    while((txt=getch()) !=13)
    {
    if(isalpha(txt))
    {
    ape[x]=txt;
    printf(«%c», ape[x]);
    x=x+1;
    }
    if(txt==8)
    {
    if(x>0)
    {
    printf(«\b \b»);
    x=x-1;
    ape[x]=»;
    }
    }
    }
    x=0;
    printf(«\n\t Ingrese apellido materno:\t»);
    while((txt=getch()) !=13)
    {
    if(isalpha(txt))
    {
    ape2[x]=txt;
    printf(«%c», ape2[x]);
    x=x+1;
    }
    if(txt==8)
    {
    if(x>0)
    {
    printf(«\b \b»);
    x=x-1;
    ape2[x]=»;
    }
    }
    }

    x=0;
    printf(«\n\tIngrese la fecha de su nacimiento Dia/Mes/ano:\t»);
    while(x!=10)
    {
    if(isdigit(txt=getch()))
    {
    f[x]=txt;
    if(x==0)
    {
    if(txt>=52)
    {
    printf(«\b \b»);
    x=x-1;
    f[x]=»;
    }
    }
    if(x==1)
    {
    if(f[0]==51)
    {
    if(txt>=50)
    {
    printf(«\b \b»);
    x=x-1;
    }
    }
    }
    if(x==3)//mes 1er dijit//
    {
    if(txt>=50)
    {
    printf(«\b \b»);
    x=x-1;
    }
    }
    if(x==4)//mes 2do dijit//
    {
    if(f[3]==49)
    {
    if(txt>=51)
    {
    printf(«\b \b»);
    x=x-1;
    }
    }
    }
    if(f[3]==48 && f[4]==50) //nuevo mes de febrero
    {
    if(f[0]==51 || f[0]==50 && f[1]==57)
    {
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    }
    }
    if(f[3]==48 && f[4]==52)//mes de abril//
    {
    if(f[0]==51 && f[1]==49)
    {
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    }
    }
    if(f[3]==48 && f[4]==54)//mes de junio//
    {
    if(f[0]==51 && f[1]==49)
    {
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    }
    }
    if(f[3]==48 && f[4]==57)//mes de septiembre//
    {
    if(f[0]==51 && f[1]==49)
    {
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    printf(«\b \b»);
    x=x-1;
    }
    }
    if(x==6) //años local 1//
    {
    if(txt>=51)
    {
    printf(«\b \b»);
    x=x-1;
    }
    if(txt==48)
    {
    printf(«\b \b»);
    x=x-1;
    }
    }
    if(x==7)//años local 2 //
    {
    if(f[6]==49)
    {
    if(txt=49)
    {
    printf(«\b \b»);
    x=x-1;
    }
    }
    }
    if(x==8) //años local 3//
    {
    if(f[6]==50)
    {
    if(txt>=50)
    {
    printf(«\b \b»);
    x=x-1;
    }
    }
    }
    if(x==9) //años local 4//
    {
    if(f[6]==50)
    {
    if(txt>=52)
    {
    printf(«\b \b»);
    x=x-1;
    }
    }
    if(f[5]==49)
    {
    if(txt>=58)
    printf(«\b \b»);
    x=x-1;
    }
    }
    printf(«%c», f[x]);
    if(x==1 || x==4)
    {
    f[2]=’/’;
    f[5]=’/’;
    x=x+1;
    printf(«%c», f[x]);
    }
    x=x+1;
    }
    if(txt==8)
    {
    if(x>0)
    {
    printf(«\b \b»);
    x=x-1;
    f[x]=»;
    }
    }
    }
    x=1;
    while(x!=10)
    {
    if(ape[x]==’a’||ape[x]==’e’||ape[x]==’i’||ape[x]==’o’||ape[x]==’u’||ape[x]==’A’||ape[x]==’E’||ape[x]==’I’||ape[x]==’O’||ape[x]==’U’)
    {
    rfc[0]=ape[0];
    rfc[1]=ape[x];
    rfc[2]=ape2[0];
    rfc[3]=nom[0];
    rfc[4]=’-‘;
    rfc[5]=f[8];
    rfc[6]=f[9];
    rfc[7]=f[3];
    rfc[8]=f[4];
    rfc[9]=f[0];
    rfc[10]=f[1];
    printf(«\n\tRFC: %s\t\n», rfc);
    x=10;
    }
    else
    {
    x=x+1;
    }
    }
    }
    // By Low Light //

Deja una respuesta

Tu dirección de correo electrónico no será publicada.