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

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

Восстановить пароль Регистрация
 
Bolotnik
0 / 0 / 0
Регистрация: 16.02.2011
Сообщений: 19
25.10.2012, 22:15     Класс правильный треугольник #1
ребята помогите создать класс- правильный треугольник
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2012, 22:15     Класс правильный треугольник
Посмотрите здесь:

C++ Правильный треугольник
C++ Класс треугольник
класс «Треугольник» C++
Разработать класс треугольник C++
C++ класс треугольник
Класс Треугольник на С++ C++
C++ Класс треугольник
С++ Класс треугольник C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
}
Yandex
Объявления
26.10.2012, 11:27     Класс правильный треугольник
Ответ Создать тему
Опции темы

Текущее время: 13:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru