15,569,840 members
See more:
A program to take 3 variables (int, float, double) and output them in ascending AND descending order. Without using loops.

What I have tried:

#include <iostream>

using namespace std;

void sortNum(int&, float&, double&);

int main()
{
int num1, num2, num3;

cout << "This program will ask you to enter 3 integer numbers and it will ";

cout << "sort the numbers into their ascending order. " << endl << endl;

cout << "Enter the 3 integers that you wish to sort: " << endl;

cin >> num1 >> num2 >> num3;

cout << "\n" << "The ascending order for the 3 numbers you just entered are: " << endl;

sortNum(num1, num2, num3);
}

// sortNum function definition
void sortNum(int& num1, float& num2, double& num3)
{
// declare the lowest, middle, and highest variables
int lowest, middle, highest;

if (num1 < num2 && num2 < num3)
{
lowest = num1;
middle = num2;
highest = num3;

cout << lowest << endl;
cout << middle << endl;
cout << highest << endl;
}
else if (num2 < num1 && num1 < num3)
{
lowest = num2;
middle = num1;
highest = num3;

cout << lowest << endl;
cout << middle << endl;
cout << highest << endl;
}
else if (num3 < num2 && num2 < num1)
{
lowest = num3;
middle = num2;
highest = num1;

cout << lowest << endl;
cout << middle << endl;
cout << highest << endl;
}
else if (num3 < num1 && num1 < num2)
{
lowest = num3;
middle = num1;
highest = num2;

cout << lowest << endl;
cout << middle << endl;
cout << highest << endl;
}
else if (num2 < num3 && num3 < num1)
{
lowest = num2;
middle = num3;
highest = num1;

cout << lowest << endl;
cout << middle << endl;
cout << highest << endl;
}
else if (num1 < num3 && num3 < num2)
{
lowest = num1;
middle = num3;
highest = num2;

cout << lowest << endl;
cout << middle << endl;
cout << highest << endl;
}
}
Posted
Updated 6-Mar-20 20:51pm
Patrice T 6-Mar-20 23:17pm
And you have a question or a problem ?

## Solution 1

Read the instructions, they are quite explicit:
Quote:
A program to take 3 variables (int, float, double)
That's not the same as reading three integers!
You will then need to convert each to the "highest" type: `double`.
So the first thing to do is prompt him for an integer, and read it. Convert it to a double called Value1
Then prompt him for an float, and read it. Convert it to a double called Value2
Compare them. and swap them over if Value1 is greater than Value2.
Now prompt him for an double, and read it into a variable called Value3.
If Value3 is smaller than Value2, swap them.
If Value2 is smaller than Value1, swap them.

You now have your three values in ascending order:
`Value1 <= Value2 <= Value3`
Print them in that order for the ascending, and in reversed order for descending.

No loops used!