Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Winner Bro давлетшин Ученик (96), закрыт 2 дня назад
не понимаю что не так прошу помочь
Дополнен 1 месяц назад
условия
Лучший ответ
Андрей Высший разум (461263) 1 месяц назад
Ты перепутал местами Up и Out. И, одновременно, ошибся в условиях, что привело к правильному ответу на первый тест.
 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 создаёт ненужные погрешности.
Winner Bro давлетшинУченик (96) 1 месяц назад
спасибо огромное
Winner Bro давлетшинУченик (96) 1 месяц назад
#include <iostream>
using namespace std;
int main()
{
double x, y, r, a;
cin >> x >> y >> r >> a;

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";
}
}


для тех кому нужен полный ответ
Андрей Высший разум (461263) рифат давлетшин, Всё же, замени double на int.
Остальные ответы
kik bytovski Профи (999) 1 месяц назад
а условие можно? или гадалку нанимать
Winner Bro давлетшинУченик (96) 1 месяц назад
дополнил
Ден Харгус Знаток (385) 1 месяц назад
Исправленный код

#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;
}
Winner Bro давлетшинУченик (96) 1 месяц назад
сори, не работает
Ден ХаргусЗнаток (385) 1 месяц назад
Попробуй это

#include <iostream>

using namespace std;

int main() {
double x, y, g, a;
cout << "Введите 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;
}
Похожие вопросы