
Написать программу в C++ Задача. Даны три действительных числа X, Y, Z. Если они попарно
различны и их полусумма больше единицы, то заменить меньшее из X и Z полусуммой двух оставшихся значений; в противном случае заменить меньшее из X, Y, Z наибольшим из них. 50 баллов;)

Ответы на вопрос

Ответ:
#include <iostream>
int main()
{
double x, y, z;
double min, max;
std::cin >> x;
std::cin >> y;
std::cin >> z;
if (((x != y) && (x != z) && (y != z))
&&
((x + y + z) / 2 > 1))
{
if (x < z)
x = (z + y) / 2;
else
z = (x + y) / 2;
}
else
{
min = x, max = x;
if (y < x) min = y;
if (z < x) min = z;
if (y > x) max = y;
if (z > x) max = z;
if (x == min)
{
if (y == max) x = y;
else if (z == max) x = z;
}
else if (y == min)
{
if (x == max) y = x;
else if (z == max) y = z;
}
else if (z == min)
{
if (x == max) z = x;
else if (y == max) z = y;
}
}
return 0;
}



Добро пожаловать в команду программистов! Вот ваша программа на C++ для решения данной задачи:
cpp#include <iostream>
#include <algorithm>
using namespace std;
int main() {
double X, Y, Z;
cout << "Введите три действительных числа X, Y и Z: ";
cin >> X >> Y >> Z;
// Проверка на попарную различность
if (X != Y && Y != Z && X != Z) {
double half_sum = (X + Y + Z) / 2.0;
if (half_sum > 1.0) {
double min_val = min(X, Z);
double new_val = half_sum - min_val;
// Заменяем меньшее из X и Z на полусумму двух оставшихся значений
if (X < Z) {
X = new_val;
} else {
Z = new_val;
}
} else {
// Находим наибольшее значение среди X, Y, Z
double max_val = max({X, Y, Z});
// Заменяем меньшее из X, Y, Z на наибольшее из них
if (X < Y && X < Z) {
X = max_val;
} else if (Y < Z) {
Y = max_val;
} else {
Z = max_val;
}
}
cout << "Результат: X = " << X << ", Y = " << Y << ", Z = " << Z << endl;
} else {
cout << "Числа не попарно различны." << endl;
}
return 0;
}
Вы можете скопировать этот код в свою среду разработки на C++ и запустить программу. Она запросит у пользователя три действительных числа X, Y и Z, а затем выполнит описанные в задаче операции и выведет результат. Удачи в выполнении задания! Если у вас возникнут еще вопросы, не стесняйтесь задавать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili