Вектор. Скалярний добуток#7449

Вектор. Скалярний добуток

1 секунда
128 мегабайтів
Дуже легка

Дано два вектори. Знайдіть їхній скалярний добуток та кут між ними.

Напишіть код, дотримуючись наступного інтерфейсу:

class Vector // C++
{
public:
  int dx, dy;
  Vector(void); // Конструктор. Зчитує координати вектора
  double Len(void); // Повертає довжину вектора
  int operator *(Vector &b); // Перевантаження оператора *: повертає скалярний добуток векторів
  double GetAngle(Vector &b); // Повертає в радіанах кут між поточним вектором і вектором b
};
prb7449.gif
class Vector // Java
{
  private int dx, dy;
  Vector(); // Конструктор, створює нульовий вектор
  Vector(int dx, int dy); // Конструктор, створює вектор (dx, dy)
  public double getLength(void); // Повертає довжину вектора
  public int Scalar(Vector v); // Повертає скалярний добуток поточного вектора і вектора v
  public double GetAngle(Vector v); // Повертає в радіанах кут між поточним вектором і вектором v
};

Вхідні дані

Чотири цілі числа - координати ненульових векторів. Кожне число за модулем не перевищує .

Вихідні дані

У першому рядку виведіть скалярний добуток двох векторів, а в другому рядку - величину неорієнтованого кута між векторами з точністю до п'яти десяткових знаків. Виведене число повинно належати інтервалу .

Приклади

Приклад 1

Loading
Loading