I need help with this comparator

Hello world!
I need some help with this program:

using nested if, make a program that compares three numbers and say which is the highest and lowest, if the three numbers are equal print a text

this is the conditions that I already have:

------------------------------------------
111

A
311 321
122 312

B
131 451
313 154

C
113
331
-----------------------------------------
I lack..... to cases

C
567
657

I am certain of it?

here is the code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include<conio.h>
#include<stdio.h>

main()
{
int a,b,c;

printf("\nANIDADO");
printf("\nEnter the first number: ");
scanf("%i",&a);
printf("\nEnter the second number: ");
scanf("%i",&b);
printf("\nEnter the third number: ");
scanf("%i",&c);

if(a == b)
{
     if(b == c)
     {
      printf("\nTHE THREE NUMBERS ARE THE SAME!!!",a);
     }
     else
     {
     if(b > c)
     {
     printf("\nThe major %i",a);
     printf("\nThe minnor %i",c);
     }
     else
     {
     printf("\nThe major %i",c);
     printf("\nThe minnor %i",a);
     }
     }
}
else
{
if(a > b)
{
         if(b > c)
         {
          printf("\nThe major %i",a);
          printf("\nThe minnor %i",c);
          }
          else
          {
          printf("\nThe major %i",a);
          printf("\nThe minnor %i",b);
          }
}
else
{
    if(a > c)
    {
    printf("\nThe major %i",b);
    printf("\nThe minnor %i",c);
    }
    else
    {
    if(c > b)
    {
    printf("\nThe major %i",b);
    printf("\nThe minnor %i",a);
    }
}
}

/*if(c > a)
{
     if(a > b)
     {
     printf("\nThe major %i",c);
     printf("\nThe minnor %i",b);
     }
     else
     {
     printf("\nThe major %i",c);
     printf("\nThe minnor %i",a);
     }
}*/






getch();
return 0;
}
Last edited on
Instead of writing each case like that (which is very long-winded, takes time, and makes mistakes more likely) you need to think like a programmer and make the algorithm do all of the work.

Also, you want to make things modeler so that if you want to make a small change, you don't have to redo everything. That means keep your printf's seperate from your determination of the max and min.

I've tried to keep the code as simple as I could without using functions or c++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
int main()
{
    int a,b,c, maximum, minimum;

    // Inputs
    printf("\nANIDADO");
    printf("\nEnter the first number: ");
    scanf("%i",&a);
    printf("\nEnter the second number: ");
    scanf("%i",&b);
    printf("\nEnter the third number: ");
    scanf("%i",&c);

    // Find max
    if (a >= b && a >= c) 
        maximum = a;
    else if (b >= c) 
        maximum = b;
    else
        maximum = c;

    // Find min
    if (a <= b && a <= c) 
        minimum = a;
    else if (b <= c) 
        minimum = b;
    else
        minimum = c;

    // Print results
    if (maximum == minimum)
        printf("\nTHE THREE NUMBERS ARE THE SAME!!!",a);
    else
    {
        printf("\nThe major %i",maximum);
        printf("\nThe minnor %i",minimum);        
    }

    getch();
    return 0;
}
Last edited on
Topic archived. No new replies allowed.