Если сумма 3 действительных чисел x,y,z <1, то наименьшее из этих чисел заменить полусуммой двух других, в противном случае заменить меньшее из x и y полусуммой двух оставшихся значений
#include<iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float x, y, z, s;
cout << "Введите x" << endl;
cin >> x;
cout << "Введите y" << endl;
cin >> y;
cout << "Введите z" << endl;
cin >> z;
s = (x + y + z);
if (s < 1)
{
if ((x < y)&&(y < z)) {
x = (y + z) / 2;
cout << "ответ: x=" << x << endl;
}
}
else if ((s<1)&&(((y < x)&&(x < z)))) {
y = (x + z) / 2;
cout <<"ответ: y="<< y << endl;
}
else if ((s<1)&&(((z < x)&&(x < y)))) {
z = (x + y) / 2;
cout <<"ответ: z="<< z << endl;
}
else if (x < y) {
x = (y + z) / 2;
cout <<"otvetos s x="<< x << endl;
}
else {
y = (x + z) / 2;
cout <<"drugoi otvet = "<< y << endl;
}
system("pause");
return 0;
}
когда я ввожу x=0.3 y=0.1 z=0.2 то в ответе ничего нет
Работает только эта ветка (при исходных данных s = 0,6, что меньше 1):
if (s < 1)
{
if ((x < y)&&(y < z)) {
x = (y + z) / 2;
cout << "ответ: x=" << x << endl;
}
}
На проверке if ((x < y)&&(y < z))
сразу же получаем false, т.к. на самом деле x
больше y
. На этом выполнение программы завершается.
Если кажется, что if
не работает, или работает не так, как надо, то всегда нужно проверять сами условия, потому что if
работает всегда. А если "не работает", значит ошибка в условиях.
Ваш код по сути состоит из
if (s < 1)
{
if ((x < y)&&(y < z)) {
x = (y + z) / 2;
cout << "ответ: x=" << x << endl;
}
}
...
else if (x < y) {
x = (y + z) / 2;
cout <<"otvetos s x="<< x << endl;
}
else {
y = (x + z) / 2;
cout <<"drugoi otvet = "<< y << endl;
}
Те ветви, где троеточие - работать не будут, так как при s<1
работает первая ветвь, а во вторую и третью вы попадаете с s>=1
, так что ваша проверка if ((s<1)&&...
автоматически дает false
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Java, когда мы наследуем один интерфейс от другого, и в дочернем хотим вызвать метод родительского, то мы должны писать не superметод (как в классах),...
Вот у меня есть сторка prodaja и bidPrice там хранятся значения с плавающей точкой, я хочу вывести их на экран в столбец но не получаетсяДумал переобразовать...
При создании клиента очень часто фрэйм не создается до конца, исключения не выкидываются