Есть ответ 👍

Какие преимущества имеет работа с записями БД в режиме формы?

122
186
Посмотреть ответы 1

Ответы на вопрос:

honeybeyker
4,7(97 оценок)

Штош, так как целевой язык не указан, буду писать на С++.

Задание на ту же тему встречаются на знаниях. Например, можно ещё посмотреть решение вот этого задания в дополнение к прямому решению.

Код#include <iostream>#include <cmath>class Point;class Figure;class Circle;class Rectangle;class UnitedFigure;class ComplementedFigure;class IntersectedFigure;class Point {public:    double x;    double y;    Point() = default;    Point(double _x, double _y) : x(_x), y(_y) {}    Point operator + (const Point& p) const {        return Point {x + p.x, y + p.y};    }    Point operator - (const Point& p) const {        return Point {x - p.x, y - p.y};    }    static Point max (const Point& p1, const Point& p2) {        return Point {std::max(p1.x, p2.x), std::max(p1.y, p2.y)};    }    static Point min (const Point& p1, const Point& p2) {        return Point {std::min(p1.x, p2.x), std::min(p1.y, p2.y)};    }    double vec_length () const {        return sqrt(x*x + y*y);    }};class Figure {public:    virtual double distance_to (const Point &p) const = 0;    friend UnitedFigure operator + (const Figure & f1, const Figure & f2);    friend ComplementedFigure operator - (const Figure & f1, const Figure & f2);    friend IntersectedFigure operator & (const Figure & f1, const Figure & f2);    bool is_point_into(const Point &p) const {        return distance_to(p) <= 0;    }};class Circle : public Figure {    Point o;    double r;public:    Circle (Point p, double _r) : o(p), r(_r) {}    double distance_to (const Point &p) const override {        return (o - p).vec_length() - r;    }};class Rectangle : public Figure {    Point a;    Point b;public:    Rectangle (Point p1, Point p2) : a(Point::min(p1, p2)), b(Point::max(p1, p2)) {}    double distance_to (const Point &p) const override {        auto d = Point::max(a - p, p - b);        return Point::max(d, Point {0, 0}).vec_length() + std::min(0.0, std::max(d.x, d.y));    }};class UnitedFigure : public Figure {    const Figure &f1;    const Figure &f2;public:    UnitedFigure (const Figure &_f1, const Figure &_f2) : f1(_f1), f2(_f2) {}    double distance_to(const Point &p) const override {        return std::min(f1.distance_to(p), f2.distance_to(p));    }};class ComplementedFigure : public Figure {    const Figure &f1;    const Figure &f2;public:    ComplementedFigure (const Figure &_f1, const Figure &_f2) : f1(_f1), f2(_f2) {}    double distance_to(const Point &p) const override {        return std::max(f1.distance_to(p), -f2.distance_to(p));    }};class IntersectedFigure : public Figure {    const Figure &f1;    const Figure &f2;public:    IntersectedFigure (const Figure &_f1, const Figure &_f2) : f1(_f1), f2(_f2) {}    double distance_to(const Point &p) const override {        return std::max(f1.distance_to(p), f2.distance_to(p));    }};UnitedFigure operator + (const Figure & f1, const Figure & f2) {    return UnitedFigure{f1, f2};}ComplementedFigure operator - (const Figure & f1, const Figure & f2) {    return ComplementedFigure{f1, f2};}IntersectedFigure operator & (const Figure & f1, const Figure & f2) {    return IntersectedFigure{f1, f2};}int main() {    Point M {};    std::cin >> M.x >> M.y;    // Тут создаём нужные примитивы    Circle big(Point{0, 0}, 3);    Circle small(Point{0, 0}, 2);    Rectangle quarter_2(Point{0, 0}, Point{-3, 3});    Rectangle quarter_4(Point{0, 0}, Point{3, -3});    // Фигура собирается здесь    auto figure = ((big - small) & quarter_2) + (small & quarter_4);    std::cout << (figure.is_point_into(M) ? "Yes" : "No") << std::endl;    return 0;}
Разработайте программу, которая выводит сообщение «Да», если точка с координатами (х, у) принадлежит
Разработайте программу, которая выводит сообщение «Да», если точка с координатами (х, у) принадлежит
Разработайте программу, которая выводит сообщение «Да», если точка с координатами (х, у) принадлежит
Разработайте программу, которая выводит сообщение «Да», если точка с координатами (х, у) принадлежит

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS