У меня есть домашнее задание на C++
, которое требует от меня ввода 4
натуральных чисел и их сопряжения так, чтобы разница между их суммами была как можно меньше.
Пример:
I have entered 4 numbers: 4; 3; 2; 1;
The smallest between the numbers would be 0 --> 4 + 1 and 3 + 2
Я написал некоторый код, используя операторы if, но для проверки каждой комбинации требуется много кода, поэтому мне было интересно, есть ли более короткий способ выполнить эту задачу
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
int x, y, z;
cout << "Insert 1st number" << endl;
cin >> a;
cout << "Insert 2nd number" << endl;
cin >> b;
cout << "Insert 3rd number" << endl;
cin >> c;
cout << "Insert 4th number" << endl;
cin >> d;
if ((a > b) && (b > c) && (c > d))
{
x = a + d;
y = b + c;
z = x - y;
cout << "The smallest differnce is: " << z << endl;
cout << endl;
}
else if ((a > b) && (b > c) && (c < d))
{
x = a + c;
y = b + d;
z = x - y;
cout << "The smallest differnce is: " << z << endl;
cout << endl;
}
else if ((a > b) && (b < c) && (c > d))
{
x = a + b;
y = d + c;
z = x - y;
cout << "The smallest differnce is: " << z << endl;
cout << endl;
}
}