Ordenar tres números de forma ascendente en C++

Programa C++ que muestra tres números enteros ordenados de forma ascendente de menor a mayor.
El programa pide que se intrduzcan tres números enteros y los muestra por pantalla de menor a mayor.
Para realizar este programa se utilizarán anidamientos de instriccuiones if .. else para realizar todas las posibles comparaciones entre los números y determinar el orden ascendente entre ellos. .

/*
 * programa C++ que muestra tres números en orden ascendente
 * lee tres numeros se introducen por teclado
 */
#include <iostream>
#include <iomanip>
using namespace std;
int main(void)
{
    //se declaran tres variables enteras que contendrán los tres números a ordenar                                
    int A, B, C;
    system("cls");
	
    //se introducen los números por teclado
    cout << "\nPrimer numero: ";
    cin >> A;
    cout << "\nSegundo numero: ";
    cin >> B;
    cout << "\nTercer numero: ";
    cin >> C;

    //se realizan las comparaciones para determinar el orden entre ellos                                          
    if(A > B)
       if( B > C)
           cout << C << " " << B << " " << A << endl;
       else if(A > C)
               cout << B << " " << C << " " << A << endl;
            else
               cout << B << " " << A << " " << C << endl;
    else if(B > C)
            if(A > C)
               cout << C << " " << A << " " << B << endl;
            else
               cout << A << " " << C << " " << B << endl;
         else
            cout << A << " " << B << " " << C << endl;
    
    system("pause");
}

3 comentarios:

  1. está mal, no se tienen en cuenta las igualdades, >= sería más correcto

    ResponderEliminar
  2. Buenas, creo que de lo que hablas es el formato en c++ y si hablas de las condicionales están bien solo que no es necesario poner iguales.

    ResponderEliminar
  3. esto es lo que pude hacer, pero si se pone el numero repetido sale repetido tambien xD

    #include

    int main(void){
    double numero1,numero2,numero3;
    std:: cout << "incerte el numero 1" << std:: endl;
    std:: cin >> numero1;

    std:: cout << "\n incerte el numero 2" << std:: endl;
    std:: cin >> numero2;

    std:: cout << "\n incerte el numero 3" << std:: endl;
    std:: cin >> numero3;

    double n_mayor, n_menor,n_mediano;
    //numero menor

    if ((numero1 <= numero2)&&(numero1 <= numero3)) n_menor = numero1;
    if ((numero2 <= numero1)&&(numero2 <= numero3)) n_menor = numero2;
    if ((numero3 <= numero2)&&(numero3 <= numero1)) n_menor = numero3;

    //numero del medio
    if ((numero1 >= numero2) && (numero1 <= numero3)) n_mediano = numero1;
    if ((numero1 <= numero2) && (numero1 >= numero3)) n_mediano = numero1;

    if ((numero2 >= numero1) && (numero2 <= numero3)) n_mediano = numero2;
    if ((numero2 <= numero1) && (numero2 >= numero3)) n_mediano = numero2;

    if ((numero3 >= numero2) && (numero3 <= numero1)) n_mediano = numero3;
    if ((numero3 <= numero2) && (numero3 >= numero1)) n_mediano = numero3;

    //numero mayor
    if ((numero1 >= numero2)&&(numero1 >= numero3)) n_mayor = numero1;
    if ((numero2 >= numero1)&&(numero2 >= numero3)) n_mayor = numero2;
    if ((numero3 >= numero2)&&(numero3 >= numero1)) n_mayor = numero3;

    std:: cout << "el numero nenor es "; std:: cout << n_menor;
    std:: cout << "\n el numero mediano es "; std:: cout << n_mediano;
    std:: cout << "\n el numero mayor es "; std:: cout << n_mayor;


    return 0;
    }

    ResponderEliminar