C/C++

ПОМОГИТЕ СОСТАВИТЬ ПРОГРАММУ НА C++.

Даны действительные числа a, b, c, d. Если a <= b <= c <= d, то каждое число заменить
наибольшим из них; если a > b > c > d, то числа оставить без изменения; в противном случае все
числа заменить их квадратами.
#include <iostream>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
bool does_not_decrease(double a, double b, double c, double d) {
return a <= b && b <= c && c <= d;
}
bool is_strictly_increasing(double a, double b, double c, double d) {
return a > b && b > c && c > d;
}
double max(double a, double b, double c, double d) {
auto ab_max = a > b? a : b;
auto cd_max = c > d? c : d;
return ab_max > cd_max? ab_max : cd_max;
}
void square(double& a, double& b, double& c, double& d) {
a *= a;
b *= b;
c *= c;
d *= d;
}
void show(const char* msg, double x) {
cout << msg << x << '\n';
}
int main() {
auto a = real("a: ");
auto b = real("b: ");
auto c = real("c: ");
auto d = real("d: ");
puts("");
if (does_not_decrease(a, b, c, d)) a = b = c = d = max(a, b, c, d);
else if (is_strictly_increasing(a, b, c, d));
else square(a, b, c, d);
show("a: ", a);
show("b: ", b);
show("c: ", c);
show("d: ", d);
system("pause > nul");
}
Дмитрий Сысин
Дмитрий Сысин
60 643
Лучший ответ
Что ты спамишь?!
Ответят небойся