Məsələlər
Вектор. Скалярное произведение
Вектор. Скалярное произведение
Даны два вектора. Найдите их скалярное произведение и угол между ними.
Напишите код согласно следующего интерфейса:
class Vector // C++
{
public:
int dx, dy;
Vector(void); // Конструктор. Прочитайте координаты вектора
double Len(void); // Возвращает длину вектора
int operator *(Vector &b); // Перегрузка оператора *: возвращает скалярное произведение векторов
double GetAngle(Vector &b); // Возвращает в радианах угол между текущим вектором и вектором b
};
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
};
Входные данные
Четыре целых числа - координаты ненулевых векторов. Все числа по модулю не превосходят 10000.
Выходные данные
В первой строке выведите скалярное произведение двух векторов, а во второй выведите величину неориентированного угла между векторами с точностью до пяти десятичных знаков. Выводимое число должно принадлежать интервалу [0; π].
Giriş verilənləri #1
2 1 3 5
Çıxış verilənləri #1
11 0.56673