В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
данил2080
данил2080
14.03.2022 07:09 •  Информатика

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

Показать ответ
Ответ:
28.04.2022 08:21
Код#include <iostream>#include <cmath>#include <exception>class Point;class Figure;class Circle;class Rectangle;class UnitedFigure;class ComplementedFigure;class IntersectedFigure;template <typename T>int sign(T number) {    if (number > 0)        return 1;    if (number == 0)        return 0;    return -1;}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};    }    double operator * (const Point& p) const {        return Point::dot(*this, p);    }    Point operator * (double k) const {        return Point { k * x, k * 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)};    }    static double dot (const Point& p1, const Point& p2) {        return p1.x * p2.x + p1.y + p2.y;    }    template<typename T>    static T clamp (const T& p, const T& min, const T& max) {        if (p >= min and p <= max) {            return p;        }        if (p < min) {            return min;        }        if (p > max) {            return max;        }        throw std::runtime_error("How have you could take this like??");    }    double vec_length () const {        return sqrt(x*x + y*y);    }};class Figure {public:    [[nodiscard]] 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;    }    bool is_point_strict_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) {}    [[nodiscard]] 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)) {}    [[nodiscard]] 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 Triangle : public Figure {    Point a;    Point b;    Point c;public:    Triangle(const Point &a, const Point &b, const Point &c) : a(a), b(b), c(c) { }    [[nodiscard]] double distance_to(const Point &p) const override {        auto p0 = a, p1 = b, p2 = c;        auto e0 = p1 - p0;        auto e1 = p2 - p1;        auto e2 = p0 - p2;        auto v0 = p - p0;        auto v1 = p - p1;        auto v2 = p - p2;        auto pq0 = v0 - e0*Point::clamp( Point::dot(v0,e0)/Point::dot(e0,e0), 0.0, 1.0 );        auto pq1 = v1 - e1*Point::clamp( Point::dot(v1,e1)/Point::dot(e1,e1), 0.0, 1.0 );        auto pq2 = v2 - e2*Point::clamp( Point::dot(v2,e2)/Point::dot(e2,e2), 0.0, 1.0 );        double s = sign( e0.x * e2.y - e0.y * e2.x );        auto d = Point::min(Point::min(                                    Point {Point::dot(pq0,pq0), s*(v0.x*e0.y-v0.y*e0.x)},                                    Point {Point::dot(pq1,pq1), s*(v1.x*e1.y-v1.y*e1.x)}),                                    Point {Point::dot(pq2,pq2), s*(v2.x*e2.y-v2.y*e2.x)});        auto r = -sqrt(-d.x)*sign(d.y); // debug this later        return r;    }};class UnitedFigure : public Figure {    const Figure &f1;    const Figure &f2;public:    UnitedFigure (const Figure &_f1, const Figure &_f2) : f1(_f1), f2(_f2) {}    [[nodiscard]] 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) {}    [[nodiscard]] 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) {}    [[nodiscard]] 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 A {};    std::cin >> A.x >> A.y;    Triangle figure(Point{0, 0}, Point{2, 0}, Point{0, 4});    std::cout << (figure.is_point_strict_into(A) ? "Yes" : "No") << std::endl;    return 0;}
написать программу (на Паскале)которая определяет лежит ли точка а внутри треугольной области 2x+y=4
написать программу (на Паскале)которая определяет лежит ли точка а внутри треугольной области 2x+y=4
написать программу (на Паскале)которая определяет лежит ли точка а внутри треугольной области 2x+y=4
написать программу (на Паскале)которая определяет лежит ли точка а внутри треугольной области 2x+y=4
0,0(0 оценок)
Ответ:
546546YGygY
546546YGygY
04.02.2020 18:42
Program task;
var p:array[1..10] of integer;
      i, n2, n3, n4, n5:integer;
begin
       n2:=0; n3:=0; n4:=0; n5:=0; {n2 - n5 - колич. 2-ек, 3-ек и т.д.}
        writeln('Введите 10 элементов массива, отметки от 1 до 5');
        for i:=1 to 10 do {ввод исходных данных}
        begin
                 write('p[',i,'] = ');
                 readln(p[i])
         end;
         for i:=1 to 10 do  {решение, перебор таблицы и суммирование}
         begin
                 if p[i] = 2 then n2:=n2+1;
                 if p[i] = 3 then n3:=n3+1;
                 if p[i] = 4 then n4:=n4+1;
                 if p[i] = 5 then n5:=n5+1
          end;
          writeln('n2 = ',n2);  {вывод результатов}
          writeln('n3 = ',n3);
          writeln('n4 = ',n4);
          writeln('n5 = ',n5);
          writeln('всего оценок',n2+n3+n4+n5)
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота