Sort 3 Integers without using if condition or using only max() function

Given three inte­gers, print them in sorted order with­out using if condition.

Examples:

```Input  : a = 3, b = 2, c = 9
Output : 2 3 9

Input  : a = 4, b = 1, c = 9
Output : 1 4 9
```

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:
1. Find the max­i­mum of a, b, c using max() function.
3. Mul­ti­ply all inte­gers by –1. Again find Min­i­mum of –a, –b, –c using max() function.
4. Add the Max and Min from above steps and sub­tract the sum from (a+b+c). It gives us mid­dle element.

It works for negative numbers also.

```// C++ program to print three numbers in sorted
// order using max function
#include<bits/stdc++.h>
using namespace std;

void printSorted(int a, int b, int c)
{
// Find maximum element
int get_max = max(a, max(b, c));

// Find minimum element
int get_min = -max(-a, max(-b, -c));

int get_mid = (a+b+c) - (get_max+get_min);

cout << get_min << " " << get_mid
<< " " << get_max;
}

// Driver code
int main()
{
int a = 4, b = 1, c = 9;
printSorted(a, b, c);
return 0;
}
```

Output:

``` 1 4 9
```

This article is contributed by Rakesh Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.
2.1 Average Difficulty : 2.1/5.0
Based on 7 vote(s)