Top.Mail.Ru
Ответы

Программирование на языке С++

Задана точка на плоскости с координатами (x, y). Выведите одно из сообщений (Да, Нет, На границе) в зависимости от того, находится ли точка внутри заштрихованной области, за пределами заштрихованной области или на ее границе. Область задана следующим образом:


Написать код на с++.

По дате
По рейтингу
Аватар пользователя
Высший разум
2мес
1234567891011121314
 #include <cmath> 
#include <iostream> 
using namespace std; 
int main() { 
    constexpr auto rr = 100.0; 
    constexpr auto eps = 1e-12; 
    double x, y; 
    cin >> x >> y; 
    const auto a = x * x + y * y; 
    const auto b = y + x; 
    if (fabs(b) < eps && a <= rr || fabs(a - rr) < eps && 0 <= b) puts("На границе"); 
    else if (rr < a || b < 0) puts("Нет"); 
    else puts("Да"); 
} 
Аватар пользователя
Мыслитель
2мес
123456789101112131415161718192021222324
 using namespace std; 
 
int main() { 
    double x, y; 
    cin >> x >> y; 
 
    double r = 10.0; 
    double distanceSquared = x * x + y * y; 
 
    bool insideCircle = distanceSquared < r * r; 
    bool onCircle = abs(distanceSquared - r * r) < 1e-9; 
    bool aboveLine = y > -x; 
    bool onLine = fabs(y + x) < 1e-9; 
 
    if ( (onCircle && aboveLine) || (onLine && insideCircle) ) { 
        cout << "На границе" << endl; 
    } else if (insideCircle && aboveLine) { 
        cout << "Да" << endl;     
    } else { 
        cout << "Нет" << endl; 
    } 
 
    return 0; 
}