Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

ИНФОРМАТИКА, не понимаю почему не работает код как надо, помогите пожалуйста

не понимаю что не так прошу помочь

Дополнен

условия

По дате
По рейтингу
Аватар пользователя
Новичок
8мес

Ты перепутал местами Up и Out. И, одновременно, ошибся в условиях, что привело к правильному ответу на первый тест.

123456789
 if (y - r > a) { // Именно строго больше
  cout << "Up";
} else if (y + r < 0) { // Именно строго меньше
  cout << "Down";
} else if (y + r <= a && y - r >= 0) {
  cout << "Inside";
} else {
  cout << "Out";
} 

И замени double на int: в задании прямо сказано, что числа целые. А double создаёт ненужные погрешности.

Аватар пользователя
Мастер
8мес

а условие можно? или гадалку нанимать

Аватар пользователя
Знаток
8мес

Исправленный код

#include <iostream>

using namespace std;

int main() {
double x, y, g, a;
cin >> x >> y >> g >> a;

if (y - g < a) {
cout << "Out" << endl;
} else if (y + g == 0) {
cout << "Down" << endl;
} else if (y + g * a > 0) {
cout << "Inside" << endl;
} else {
cout << "Up" << endl;
}

return 0;
}