Реализовать программу на c++.. Составить программу, которая
Дата публикации:

Реализовать программу на c++.. Составить программу, которая

d289af71

Реализовать программу на c++.. Составить программу, которая печатает True,если точка с координатами (x,y) принадлежит заданным закрашенным(заштрихованным) областям, показанным на рисунке и False в противном случае.

Для решения данной задачи можно воспользоваться геометрическим подходом. Заданные закрашенные области можно представить в виде геометрических фигур, таких как круги, прямоугольники и треугольники.

Программа будет принимать на вход координаты точки (x, y) и проверять, принадлежит ли эта точка одной из заданных областей. Для этого будем последовательно проверять каждую область.

Пример реализации программы на C++:

#include <iostream>
#include <cmath>

bool checkCircle(double x, double y) {
    // Проверка принадлежности точки кругу
    double centerX = 2.0;
    double centerY = 2.0;
    double radius = 1.0;
    double distance = sqrt(pow(x - centerX, 2) + pow(y - centerY, 2));
    return distance <= radius;
}

bool checkRectangle(double x, double y) {
    // Проверка принадлежности точки прямоугольнику
    double left = 1.0;
    double right = 3.0;
    double top = 1.0;
    double bottom = 3.0;
    return x >= left && x <= right && y >= top && y <= bottom;
}

bool checkTriangle(double x, double y) {
    // Проверка принадлежности точки треугольнику
    double x1 = 0.0;
    double y1 = 0.0;
    double x2 = 2.0;
    double y2 = 4.0;
    double x3 = 4.0;
    double y3 = 0.0;
    double a = (x1 - x) * (y2 - y1) - (x2 - x1) * (y1 - y);
    double b = (x2 - x) * (y3 - y2) - (x3 - x2) * (y2 - y);
    double c = (x3 - x) * (y1 - y3) - (x1 - x3) * (y3 - y);
    return (a >= 0 && b >= 0 && c >= 0) || (a <= 0 && b <= 0 && c <= 0);
}

int main() {
    double x, y;
    std::cout << "Введите координаты точки (x, y): ";
    std::cin >> x >> y;

    bool isInCircle = checkCircle(x, y);
    bool isInRectangle = checkRectangle(x, y);
    bool isInTriangle = checkTriangle(x, y);

    if (isInCircle || isInRectangle || isInTriangle) {
        std::cout << "True" << std::endl;
    } else {
        std::cout << "False" << std::endl;
    }

    return 0;
}

В данной программе используются функции checkCircle, checkRectangle и checkTriangle, которые проверяют принадлежность точки кругу, прямоугольнику и треугольнику соответственно. Если точка принадлежит хотя бы одной из областей, программа выводит "True", иначе - "False".