C/C++

Значения действительных переменных А, В и С образуют неупорядоченную последовательность

#include <iostream>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
void show(const char* msg, const double x) {
cout << msg << x << '\n';
}
void ascending(double& a, double& b, double& c) {
const auto sum = a + b + c;
const auto min = (a < b) ? (a < c) ? a : c : (b < c) ? b : c;
const auto max = (a > b) ? (a > c) ? a : c : (b > c) ? b : c;
const auto mid = sum - min - max;
a = min;
b = mid;
c = max;
}
void descending(double& a, double& b, double& c) {
const auto sum = a + b + c;
const auto min = (a < b) ? (a < c) ? a : c : (b < c) ? b : c;
const auto max = (a > b) ? (a > c) ? a : c : (b > c) ? b : c;
const auto mid = sum - min - max;
a = max;
b = mid;
c = min;
}
int main() {
puts("Input:");
auto a = real("A: ");
auto b = real("B: ");
auto c = real("C: ");
ascending(a, b, c);
puts("Ascending output:");
show("A: ", a);
show("B: ", b);
show("C: ", c);
descending(a, b, c);
puts("Descending output:");
show("A: ", a);
show("B: ", b);
show("C: ", c);
system("pause > nul");
}
ГК
Ганибет Куаныш
65 644
Лучший ответ
Бывает... :)

Похожие вопросы