Advertisement
Ifrail

Less3 Task1

Nov 20th, 2019
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.23 KB | None | 0 0
  1. /*Астронавигация на пальцах*/
  2.  
  3. /*
  4. Как известно даже опытный капитан может подзабыть важные детали, например, что настоящий космос, как известно, двухмерный, а значит положение любого объекта задается двумя координатами X и Y. Прежде чем запускать свой корабль в неведомые дали космоса, нужно научиться ориентироваться в этом самом космосе. Запрограммируйте И.С.А.А.К. таким образом, чтобы он научился вычислять расстояния между двумя объектами в космосе. Для проверки определите расстояние, который пролетит корабль, если он должен посетить все 3 объекта, в порядке их ввода.
  5.  
  6. Для этого:
  7. * создайте класс SpacePoint
  8. * задайте в нем 2 поля (координаты X и Y)
  9. * метод read, для считывания координат
  10. * метод distance, для определения расстояния между объектом и соседним объектом.
  11.  
  12. Помните, что космос большой и дробной частью можно пренебречь, а значит нам подойдут целые числа!
  13. */
  14.  
  15.  
  16. #include <iostream>
  17. #include <cmath>
  18.  
  19. using namespace std;
  20.  
  21. // координаты корабля в пространстве
  22. class SpacePoint {
  23. public:
  24.     int X, Y;
  25.  
  26.     int distance(SpacePoint point)  {
  27.         return sqrt(pow(X - point.X, 2) + pow(Y - point.Y, 2));
  28.     }
  29.  
  30.     void read() {
  31.         cin >> X >> Y;
  32.     }
  33. };
  34.  
  35. int main() {
  36.     SpacePoint pt1, pt2, pt3;
  37.  
  38.     pt1.read();
  39.     pt2.read();
  40.     pt3.read();
  41.  
  42.     cout << pt2.distance(pt1) + pt3.distance(pt2);
  43. }
  44.  
  45. /*
  46. Тест1
  47. Ввод:
  48. 0 0
  49. 4 4
  50. 5 5
  51. Вывод:
  52. 6
  53.  
  54. Тест2
  55. Ввод:
  56. 4 4
  57. 14 8
  58. 9 9
  59. Вывод:
  60. 15
  61.  
  62. Тест3
  63. Ввод:
  64. 9 9
  65. 16 16
  66. 125 125
  67. Вывод:
  68. 163
  69.  
  70. Тест4
  71. Ввод:
  72. 0 0
  73. -16 -16
  74. 16 16
  75. Вывод:
  76. 67
  77. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement