What is the error in this algorithm? (C ++)

-1

This algorithm must order 4 numbers and print them in an ascending way, I did this, compare them with each other, but with the n3 and n4 I do not do well, because it can be? I was looking for the error but I can not find it, if anyone can give me a hand I would appreciate it!

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

int main () {
    int n1,n2,n3,n4;
    printf("Ingrese el N°1: ");
    scanf("%d",&n1);
    printf("Ingrese el N°2: ");
    scanf("%d",&n2);
    printf("Ingrese el N°3: ");
    scanf("%d",&n3);
    printf("Ingrese el N°4: ");
    scanf("%d",&n4);

    if((n1<n2 && n2<n3 && n3<n4)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n1,n2,n3,n4);
    }

    else if ((n1<n2 && n2<n4 && n4<n3)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n1,n2,n4,n3);
    }

    else if((n1<n2 && n3<n2 && n2<n4)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n1,n3,n2,n4);
    }

    else if((n1<n4 && n4<n2 && n2<n3)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n1,n4,n2,n3);
    }

    else if((n1<n4 && n4<n3 && n3<n2)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n1,n4,n3,n2);
    }

    else if((n1<n3 && n3<n4 && n4<n2)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n1,n3,n4,n2);
    }

    else if((n2<n1 && n1<n3 && n3<n4)){

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n2,n1,n3,n4);
    }

    else if((n2<n1 && n1<n4 && n4<n3)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n2,n1,n4,n3);
    }

    else if((n2<n1 && n4<n1 && n1<n3)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n2,n4,n1,n3);
    }

    else if((n2<n1 && n4<n3 && n3<n1)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n2,n4,n3,n1);
    }

    else if((n2<n1 && n3<n1 && n1<n4)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n2,n3,n1,n4);
    }

    else if((n2<n1 && n3<n4 && n4<n1)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n2,n3,n4,n1);
    }

    else if((n3<n1 && n1<n4 && n4<n2)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n1,n2,n4);
    }

    else if((n3<n1 && n1<n4 && n4<n2)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n1,n4,n2);
    }

    else if((n3<n2 && n2<n1 && n1<n4)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n2,n1,n4);
    }

    else if((n3<n2 && n2<n4 && n4<n1)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n2,n4,n1);
    }

    else if((n3<n4 && n4<n1 && n1<n2)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n4,n1,n2);
    }

    else if((n4<n3 && n3<n2 && n2<n1)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n4,n2,n1);
    }

    else if((n4<n1 && n1<n2 && n2<n3)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n4,n1,n2,n3);
    }

    else if((n4<n1 && n1<n3 && n3<n2)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n4,n1,n3,n2);
    }

    else if((n4<n3 && n3<n1 && n1<n2)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n4,n3,n1,n2);
    }

    else if((n4<n3 && n3<n2 && n2<n1)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n4,n3,n2,n1);
    }

    else if((n4<n2 && n2<n1 && n1<n3)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n4,n2,n1,n3);
    }

    else if((n4<n2 && n2<n3 && n3<n1)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n4,n2,n3,n1);
    }
}
    
asked by Gustavo Torres 24.06.2017 в 23:35
source

1 answer

0

In the seventh else if from bottom to top you were wrong:

else if((n4<n3 && n3<n2 && n2<n1)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n4,n2,n1);
    }

It should be:

else if((n4<n3 && n3<n2 && n2<n1)) {

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n4,n3,n2,n1);
    }

In the 12th also:

else if((n3<n1 && n1<n4 && n4<n2)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n1,n2,n4);
    }

It should be:

else if((n3<n1 && n1<n4 && n4<n2)) { 

        printf("\nOrden Ascendente: \n%d \n%d \n%d \n%d",n3,n1,n4,n2);
    }

Check the order of your conditions well, I do not know if there are more errors. Those were the ones I saw most clearly.

    
answered by 25.06.2017 / 03:40
source