diff options
2 files changed, 62 insertions, 1 deletions
| -rw-r--r-- | Classes/Triangle/Triangle.hpp | 40 | ||||
| -rw-r--r-- | Classes/Triangle/point.hpp | 23 |
diff --git a/Classes/Triangle/Triangle.hpp b/Classes/Triangle/Triangle.hpp index 4bcfe98..86841f9 100644 --- a/Classes/Triangle/Triangle.hpp +++ b/Classes/Triangle/Triangle.hpp @@ -1 +1,39 @@ -d +#include "point.hpp"
+
+class Triangle
+{
+public:
+ Point p1;
+ Point p2;
+ Point p3;
+ //Кой конструктор е по-добре да ползваме и защо?
+ Triangle(Point p1, Point p2, Point p3);
+ Triangle(int x1,int y1,int x2,int y2,int x3,int y3);
+
+
+
+ // Използваме вече дефинираните функции, без да се интересуваме от тяхната реализация
+ double getPer();
+
+
+};
+Triangle::Triangle(Point p1, Point p2, Point p3);
+{
+ this->p1 = p1;
+ this->p2 = p2;
+ this->p3 = p3;
+}
+Triangle::Triangle(int x1,int y1,int x2,int y2,int x3,int y3);
+{
+ p1.x = x1;
+ p1.y = y1;
+ p2.x = x2;
+ p2.y = y2;
+ p3.x = x3;
+ p3.y = y3;
+}
+// Използваме вече дефинираните функции, без да се интересуваме от тяхната реализация
+double Triangle::getPer();
+{
+ return p1.DistTo(p2) + p2.DistTo(p3) + p3.DistTo(p1);
+}
\ No newline at end of file diff --git a/Classes/Triangle/point.hpp b/Classes/Triangle/point.hpp new file mode 100644 index 0000000..a8a2c19 --- /dev/null +++ b/Classes/Triangle/point.hpp @@ -0,0 +1,23 @@ +#include <iostream>
+
+struct Point
+{
+ Point()
+ {
+ x = 0;
+ y = 0;
+ }
+ Point(int x, int y)
+ {
+ this->x = x;
+ this->y = y;
+ }
+ double DistTo(const Point& other)
+ {
+ int dx = x - other.x;
+ int dy = y - other.y;
+ return sqrt(dx*dx + dy*dy);
+ }
+ int x;
+ int y;
+};
\ No newline at end of file |
