Скалярное произведение векторов в С++
Это типичная задача, которую предлагают студентам-первокурсникам. Пусть даны два вектора:
$$\vec{a}=\left( a_{x}, a_{y}, a_{z} \right), \vec{b}=\left( b_{x}, b_{y}, b_{z} \right)$$
Тогда их скалярное произведение равно сумме попарных произведений, соответствующих координат и вычисляется по формуле:
$$\vec{a}\cdot \vec{b}=a_{x}\cdot b_{x}+a_{y}\cdot b_{y}+a_{z}\cdot b_{z}$$
Каждый вектор в программе представлен как одномерный массив из трех элементов. Элементы векторов вводятся пользователем. В результате выполнения программы отображается значение скалярного произведения этих векторов.
#includeusing namespace std; int main(){ //Индексная переменная: int i; //Первый массив: double a[3]; //Второй массив: double b[3]; //Переменная для записи результата: double res=0; //Ввод элементов первого массива: cout << "a = "; for(i=0; i < 3;i++) cin >> a[i]; //Ввод элементов второго массива: cout << "b = "; for(i=0; i < 3;i++) cin >> b[i]; //Вычисление скалярного произведения: for(i=0; i < 3; i++) res+=a[i]*b[i]; //Отображение результата: cout << "a.b = " << res << endl; return 0; }