profile
Размещено 5 лет назад по предмету Информатика от boha

Создать класс окружностей на плоскости, описав в нём все необходимые свойства, подобрав им понятные имена и правильные типы данных. Описать в классе конструктор, позволяющий при создании нового объекта явно задать все его свойства, а также конструктор, позволяющий задать свойства с клавиатуры. Если это необходимо, то проверить допустимость значений свойств. Создать в классе метод, вычисляющий площадь круга. Создать в классе метод, вычисляющий расстояние между центрами окружностей. Создать в классе метод, проверяющий, касаются ли окружности.

  1. Ответ на вопрос
    Ответ на вопрос дан Nove1990
    #include <iostream>
    #include <cmath>
    using namespace std;
    class Circle
    {
    private:
        double x;
        double y;
        double r;
    public:
        Circle();
        Circle(double xCo, double yCo, double rad);
        double area();
        double centre_dist(Circle & c);
        bool istouch(Circle & c);
    };

    Circle::Circle()
    {
        cout << "Enter x coord: ";
        cin >> x;
        cout << "Enter y coord: ";
        cin >> y;
        cout << "Enter radius: ";
        while (cin >> r && r < 0)
        {
            cout << "Radius can't be negativen";
            cout << "Enter radius: ";
        }
    }

    Circle::Circle(double xCo, double yCo, double rad) : x(xCo), y(yCo), r(rad)
    {
        if (r < 0)
        {
            cout << "Radius can't be negativen";
            cout << "Radius set to 0n";
            r = 0;
        }
    }

    double Circle::area()
    {
        return 3.1415926 * r * r;
    }

    double Circle::centre_dist(Circle & c)
    {
        return sqrt((x - c.x) * (x - c.x) + (y - c.y) * (y - c.y));
    }

    bool Circle::istouch(Circle & c)
    {
        return (this->centre_dist(c) <= r + c.r) ? true : false;
    }

    int main()
    {
        Circle c1;
        Circle c2(0, 0, 5);
        cout << "area of c2: " << c2.area() << endl;
        cout << "centre distance: " << c2.centre_dist(c1) << endl;
        cout << "is touch: ";
        c2.istouch(c1) ? cout << "yes" : cout << "no";
        cout << endl;
        return 0;
    }
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.