Bienvenido a la Comunidad Programación, donde programadores de todo tipo se encargan de mantener el ambiente agradable. Pregunta, responde y aprende sobre el interesante mundo de la programación computacional. Anímate a conocernos!!

Ver más
  • 1,035 Miembros
  • 387 Temas
  • 348 Seguidores
  • 0

Programa que ordene de mayor a menor en C

Programa que ordene de mayor a menor en C


Este programa lo acabo de escribir hace unos minutos, para darle un poco de ayuda a @D4NK0 en este tema pero hice el programa inverso. De igual manera no pienso desperdiciar este código, ya que a alguien le puede sacar de apuros

Primero el pseudocódigo



int n1, n2, n3; // Variables de tipo entero que almacenarán los números
imprimir("Escriba el primer numero");
leer(n1);
imprimir("Escriba el segundo numero");
leer(n2);
imprimir("Escriba el tercer numero");
leer(n3);

// Recuerda que && es un comparador lógico AND

si(n1>=n2 && n1>=n3) // Condicional si el primer numero es mayor o igual que los otros dos
{
si(n2>=n3) // Condicional si el segundo numero es mayor o igual que el tercero
{
imprimir(n1); // Esta posicion siempre la ocupa la variable mas grande comparada con las otras dos variables, que en este caso es n1
imprimir(n2); // Esta posicion siempre la ocupa la variable mas grande comparada solamente con la otra variable, que en este caso es n2
imprimir(n3);
}
si(n3>=n2) // Condicional si el tercer numero es mayor o igual que el segundo
imprimir(n1);
imprimir(n3);
imprimir(n2);
}
}

si(n2>=n1 && n2>=n3) // Condicional si el segundo numero es mayor o igual que los otros dos
{
si(n1>=n3) // Condicional si el primer numero es mayor o igual que el tercero
{
imprimir(n2);
imprimir(n1);
imprimir(n3);
}
si(n3>=n1) // Condicional si el tercer numero es mayor o igual que el primero
imprimir(n2);
imprimir(n3);
imprimir(n1);
}
}

si(n3>=n1 && n3>=n2) // Condicional si el tercer numero es mayor o igual que los otros dos
{
si(n1>=n2) // Condicional si el primer numero es mayor o igual que el segundo
{
imprimir(n3);
imprimir(n1);
imprimir(n2);
}
si(n2>=n1) // Condicional si el segundo numero es mayor o igual que el primero
imprimir(n3);
imprimir(n2);
imprimir(n1);
}
}


Y finalmente el código en C


#include <stdio.h>
#include <conio.h>

int main()
{
    int n1, n2, n3;
    
    do
    {
    clrscr();
    printf("Introduce el primer num: ");
    scanf("%d",&n1);
    printf("nIntroduce el segundo num: ");
    scanf("%d",&n2);
    printf("nIntroduce el tercer num: ");
    scanf("%d",&n3);
    
    if(n1>=n2 && n1>=n3)
    {
              if(n2>=n3)
              {
                       printf("nn%d",n1);
                       printf("n%d",n2);
                       printf("n%d",n3);
              }
              
              if(n3>=n2)
              {
                       printf("nn%d",n1);
                       printf("n%d",n3);
                       printf("n%d",n2);
              }
    }
    
    if(n2>=n1 && n2>=n3)
    {
              if(n1>=n3)
              {
                       printf("nn%d",n2);
                       printf("n%d",n1);
                       printf("n%d",n3);
              }
              
              if(n3>=n1)
              {
                       printf("nn%d",n2);
                       printf("n%d",n3);
                       printf("n%d",n1);
              }
    }
    
    if(n3>=n1 && n3>=n2)
    {
              if(n1>=n2)
              {
                       printf("nn%d",n3);
                       printf("n%d",n1);
                       printf("n%d",n2);
              }
              
              if(n2>=n1)
              {
                       printf("nn%d",n3);
                       printf("n%d",n2);
                       printf("n%d",n1);
              }
    }
    
    getch();
    }
    while(1);
    exit(1);
}


Yo utilicé un bucle do-while infinito para no estar abriendo y cerrando el programa cada vez que quiera meter nuevos números, y para explicarlo tendría que salirme de este tema.

Salu2


Programa que ordene de mayor a menor en CPrograma que ordene de mayor a menor en CPrograma que ordene de mayor a menor en CPrograma que ordene de mayor a menor en C
  • 0
  • 1Calificación
  • 1Seguidores
  • 5.213Visitas
  • 0Favoritos

2 comentarios

@cxs00
yo = escribi uno XD.. bueno para no hacer otro tema lo pongo aqui


#include&lt;stdio.h&gt;  
#include&lt;stdlib.h&gt; 
#include&lt;time.h&gt; 

#define N 20 
#define MIN 1 
#define MAX 100 

int main()  
{  
    int i,j,tmp; 
    int vector[N]; 
     
    srand(time(0)); 

    for(i=0;i&lt;N;i++) 
        vector[i]=rand()%MAX+MIN; 

    for(i=0;i&lt;N;i++) 
        printf(&quot;%d &quot;,vector[i]); 
    printf(&quot;&lt;--- Originaln&quot;); 
     
    for(i=0;i&lt;N;i++){ 
        for(j=i+1;j&lt;N;j++){ 
            if(vector[i]&gt;vector[j]){ 
                tmp=vector[i]; 
                vector[i]=vector[j]; 
                vector[j]=tmp; 
            } 
        } 
    } 

    for(i=0;i&lt;N;i++) 
        printf(&quot;%d &quot;,vector[i]); 
    printf(&quot;&lt;--- Ordenadon&quot;); 

    return 0; 

@moviuz
jajaja ps si quiere yo tengo uno de mayor a menor en pilas,listas y colas xD!
Tienes que ser miembro para responder en este tema