Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bolotnik
0 / 0 / 0
Регистрация: 16.02.2011
Сообщений: 19
#1

Класс правильный треугольник - C++

25.10.2012, 22:15. Просмотров 493. Ответов 1
Метки нет (Все метки)

ребята помогите создать класс- правильный треугольник
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2012, 22:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс правильный треугольник (C++):

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник - C++
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - равносторонний треугольник (·...

Правильный треугольник - C++
Какова должна быть длина стороны правильного треугольника a,чтобы из него можно было вырезать n кругов радиуса r? Помогите пожалуйста!

Класс треугольник с произвольным классом - равнобедренный треугольник - C++
Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и...

Создать абстрактный класс "Треугольник" и производный - "Равнобедренный треугольник" - C++
Задание Создать абстрактный класс треугольник. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода...

Класс треугольник - C++
Вечер добрый! Помогите пожалуйста реализовать задачу. Класс треугольник. Проверка введённых данных. Нахождение периметра и площади....

класс «Треугольник» - C++
Задание 1. Создайте класс «Треугольник», данными которого является длины отрезков, составляющих стороны треугольника. Класс имеет...

1
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
26.10.2012, 11:27 #2
Не совсем понятна задача. Что Вы хотите делать с этим классом? Ведь от этого зависит и набор полей и методов. Если Вы собираетесь просто хранить в этом классе координаты трех вершин - это одно, если центр площади треугольника - это другое (может например потребоваться в графике). Чего делать то с этим планируется?

Добавлено через 1 час 22 минуты
Ну собственно, это?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//triangle.cpp
#include <iostream>
#include <cmath>
 
class Coords
{
    double x;
    double y;
public:
    Coords(): x(0), y(0) {}
    Coords(double a, double b): x(a), y(b) {}
    void setCoords()
    {
        std::cout << "Enter the x coods: "; std::cin >> x;
        std::cout << "Enter the y coods: "; std::cin >> y;
    }
    double getCoodsX()
    {   return x;   }
    double getCoodsY()
    {   return y;   }
 
};
class Triangle
{
    Coords point1;
    Coords point2;
    Coords point3;
public:
    Triangle() : point1(0,0), point2(0,0), point3(0,0) {}
    Triangle(Coords a, Coords b, Coords c) : point1(a), point2(b), point3(c) {}
    Triangle(double a1, double b1, double a2, double b2, double a3, double b3) : point1(a1,b1), point2(a2,b2), point3(a3,b3) {}
    void setCoords()
    {
        point1.setCoords();
        point2.setCoords();
        point3.setCoords();
    }
    void getCoods()
    {
        std::cout   << "x1 = " << point1.getCoodsX() << "  y1 = " << point1.getCoodsY() << std::endl
                    << "x2 = " << point2.getCoodsX() << "  y2 = " << point2.getCoodsY() << std::endl
                    << "x3 = " << point3.getCoodsX() << "  y3 = " << point3.getCoodsY() << std::endl;
    }
    bool isEquilateral();
};
 
bool Triangle::isEquilateral()
{
    double side1 = pow(pow((point2.getCoodsX() - point1.getCoodsX()),2) + pow((point2.getCoodsY() - point1.getCoodsY()),2),1.0/2);
    double side2 = pow(pow((point2.getCoodsX() - point3.getCoodsX()),2) + pow((point2.getCoodsY() - point3.getCoodsY()),2),1.0/2);
    double side3 = pow(pow((point3.getCoodsX() - point1.getCoodsX()),2) + pow((point3.getCoodsY() - point1.getCoodsY()),2),1.0/2);
    std::cout << side1 << std::endl << side2 << std::endl << side3 << std::endl;
    return 0;
}
 
int main()
{
    Triangle t1(1,2,3,4,5,6);
    bool x = t1.isEquilateral();
    std::cout << x << std::endl;
    return 0;
}
Добавлено через 11 часов 21 минуту
немного доработанный класс

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//triangle.cpp
#include <iostream>
#include <cmath>
 
class Coords
{
private:
    double x;
    double y;
public:
    Coords(): x(0), y(0) {}
    Coords(double a, double b): x(a), y(b) {}
    void setCoords()
    {
        std::cout << "Enter the x coods: "; std::cin >> x;
        std::cout << "Enter the y coods: "; std::cin >> y;
    }
    void setCoords(double a, double b)
    {   x = a; y = b;   }
    double getCoodsX()
    {   return x;   }
    double getCoodsY()
    {   return y;   }
 
};
class Triangle
{
private:
    Coords point1;
    Coords point2;
    Coords point3;
public:
    Triangle() : point1(0,0), point2(0,0), point3(0,0) {}
    Triangle(Coords a, Coords b, Coords c) : point1(a), point2(b), point3(c) {}
    Triangle(double a1, double b1, double a2, double b2, double a3, double b3) : point1(a1,b1), point2(a2,b2), point3(a3,b3) {}
    Triangle(Coords a, Coords b) : point1(a), point2(b)
    {
        double x3 =(point1.getCoodsX() + point2.getCoodsX() +(point1.getCoodsY() - point2.getCoodsY())*sqrt(3))/2;
        double y3 = (point1.getCoodsY() + point2.getCoodsY() +(point2.getCoodsX() - point1.getCoodsX())*sqrt(3))/2;
        point3.setCoords(x3,y3);
    }
    Triangle(double a1, double b1, double a2, double b2) : point1(a1,b1), point2(a2,b2)
    {
        double x3 =(point1.getCoodsX() + point2.getCoodsX() +(point1.getCoodsY() - point2.getCoodsY())*sqrt(3))/2;
        double y3 = (point1.getCoodsY() + point2.getCoodsY() +(point2.getCoodsX() - point1.getCoodsX())*sqrt(3))/2;
        point3.setCoords(x3,y3);
    }
    ~Triangle() {}
    void setCoords()
    {
        point1.setCoords();
        point2.setCoords();
        point3.setCoords();
    }
    void getCoods()
    {
        std::cout   << "x1 = " << point1.getCoodsX() << "  y1 = " << point1.getCoodsY() << std::endl
                    << "x2 = " << point2.getCoodsX() << "  y2 = " << point2.getCoodsY() << std::endl
                    << "x3 = " << point3.getCoodsX() << "  y3 = " << point3.getCoodsY() << std::endl;
    }
    bool isEquilateral();
};
 
bool Triangle::isEquilateral()
{
    double side1 = pow(pow((point2.getCoodsX() - point1.getCoodsX()),2) + pow((point2.getCoodsY() - point1.getCoodsY()),2),1.0/2);
    double side2 = pow(pow((point2.getCoodsX() - point3.getCoodsX()),2) + pow((point2.getCoodsY() - point3.getCoodsY()),2),1.0/2);
    double side3 = pow(pow((point3.getCoodsX() - point1.getCoodsX()),2) + pow((point3.getCoodsY() - point1.getCoodsY()),2),1.0/2);
    
    if (side1==side2 && side2==side3)
    {
        std::cout << "Each side is equal to : " << side1 << std::endl;
        return true;
    }
    else
    {
        std::cout << "Side 1 = " << side1 << std::endl 
                << "Side 2 = " << side2 << std::endl 
                << "Side 3 = " << side3 << std::endl;
        return false;
    }
}
 
int main()
{
    Triangle t1(120,250,30,70);
    std::cout << (t1.isEquilateral()? "The triangle is equilateral" : "The triangle is not equilateral") << std::endl;
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2012, 11:27
Привет! Вот еще темы с ответами:

класс треугольник - C++
добрый вечер) мне нужно было создать класс треугольник и реализовать операции нахождения площади, периметра, я сделала это на примере...

Класс треугольник - C++
Алоха всем!:) В институте задали задачу по классам, класс треугольник, материалу дали 0, вообщем ищи где хочешь, по шарил по инету,...

Класс треугольник - C++
Здравствуйте, уважаемые форумчане, очень нужна ваша помощь. Задача. Описать указанный в варианте класс и составить коды основных ...

С++ Класс треугольник - C++
Добрый вечер! Я вновь со своей задачей, извините что снова беспокою. (Разработать класс на языке С++ реализующий методы для работы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru