Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Линейный рост*/
- #include <iostream>
- #include <cmath>
- /*Цель: написать несколько конструкторов с параметрами*/
- /*
- В этой задаче мы будем считать длину ломаной, состоящей из двух отрезков (конец одного отрезка, совпадает с началом другого), для этого:
- - создайте класс отрезка Line,
- - напишите два конструктора с параметрами, один принимает конечную точку (начальная точка, в этом случае считается с координатами (0;0)), второй - две точки, начальную и конечную соответственно
- - напишите методы возвращающие начальную и конечную точки отрезка (геттеры)
- - напишите метод рассчитывающий длину отрезка по двум точкам
- - дополните класс Point из прошлой задачи конструктором, принимающий координаты точки - x и y.
- Внимание, отправлять нужно только классы!
- */
- using namespace std;
- class Point {
- int _x, _y;
- public:
- Point () {
- _x = 0;
- _y = 0;
- }
- Point(int x, int y) {
- _x = x;
- _y = y;
- }
- int getX() { return _x; }
- int getY() { return _y; }
- };
- class Line {
- Point _p1;
- Point _p2;
- public:
- Line(Point endPoint) {
- _p2 = endPoint;
- }
- Line(Point startPoint, Point endPoint) {
- _p1 = startPoint;
- _p2 = endPoint;
- }
- Point getStart() { return _p1; }
- Point getEnd() { return _p2; }
- double length() {
- return sqrt(pow(_p1.getX() - _p2.getX(), 2) + pow(_p1.getY() - _p2.getY(), 2));
- }
- };
- /*В преамбулу*/
- int main() {
- int x, y;
- cin >> x >> y;
- Point p1(x, y);
- cin >> x >> y;
- Point p2(x, y);
- Line l1(p1);
- Line l2(p1, p2);
- cout << "P1: " << l1.getStart().getX() << " " << l1.getStart().getY() << endl;
- cout << "P2: " << l1.getEnd().getX() << " " << l1.getEnd().getY() << endl;
- cout << "P3: " << l2.getEnd().getX() << " " << l2.getEnd().getY() << endl;
- cout << l1.length() + l2.length() << endl;
- return 0;
- }
- /*
- Тест 1
- Ввод:
- 3 5
- 9 16
- Вывод:
- P1: 0 0
- P2: 3 5
- P3: 9 16
- 18.3609
- Тест 2
- Ввод:
- -4 -8
- 25 6
- Вывод:
- P1: 0 0
- P2: -4 -8
- P3: 25 6
- 41.1468
- Тест 3
- Ввод:
- -4 -8
- 25 6
- Вывод:
- P1: 0 0
- P2: 1 1
- P3: 4 4
- 5.65685
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement