# Program for dot product and cross product of two vectors

There are two vector A and B and we have to find the dot product and cross product of two vector array. Dot product is also known as scalar product and cross product also known as vector product.

Dot Product – Let we have given two vector A = a1 * i + a2 * j + a3 * k and B = b1 * i + b2 * j + b3 * k. Where i, j and k are the unit vector along the x, y and z directions. Then dot product is calculated as dot product = a1 * b1 + a2 * b2 + a3 * b3

Example –

```A = 3 * i + 5 * j + 4 * k
B = 2 * i + 7 * j + 5 * k
dot product = 3 * 2 + 5 * 7 + 4 * 5
= 6 + 35 + 20
= 61
```

Cross Product – Let we have given two vector A = a1 * i + a2 * j + a3 * k and B = b1 * i + b2 * j + b3 * k. Then cross product is calculated as cross product = (a2 * b3 – a3 * b2) * i + (a1 * b3 – a3 * b1) * j + (a1 * b1 – a2 * b1) * k, where a2 * b3 – a3 * b2, a1 * b3 – a3 * b1 and a1 * b1 – a2 * b1 are the coefficient of unit vector along i, j and k directions.

Example –

```A = 3 * i + 5 * j + 4 * k
B = 2 * i + 7 * j + 5 * k
cross product
= (5 * 5 - 4 * 7) * i
+ (3 * 5 - 4 * 2) * j + (3 * 7 - 5 * 2) * k
= -3 *i + 7 * j + 11 * k
```

Example –

```Input : vect_A[] = {3, -5, 4}
vect_B[] = {2, 6, 5}
Output : Dot product: -4
Cross product = -49 7 28```

Code –

`// C++ implementation for dot product`
`// and cross product of two vector.`
`#include <bits/stdc++.h>`
`#define n 3`
`using` `namespace` `std;`
`// Function that return`
`// dot product of two vector array.`
`int` `dotProduct(``int` `vect_A[], ``int` `vect_B[])`
`{`
`    ``int` `product = 0;`
`    ``// Loop for calculate cot product`
`    ``for` `(``int` `i = 0; i < n; i++)`
`        ``product = product + vect_A[i] * vect_B[i];`
`    ``return` `product;`
`}`
`// Function to find`
`// cross product of two vector array.`
`void` `crossProduct(``int` `vect_A[], ``int` `vect_B[], ``int` `cross_P[])`
`{`
`    ``cross_P[0] = vect_A[1] * vect_B[2] - vect_A[2] * vect_B[1];`
`    ``cross_P[1] = vect_A[0] * vect_B[2] - vect_A[2] * vect_B[0];`
`    ``cross_P[2] = vect_A[0] * vect_B[1] - vect_A[1] * vect_B[0];`
`}`
`// Driver function`
`int` `main()`
`{`
`    ``int` `vect_A[] = { 3, -5, 4 };`
`    ``int` `vect_B[] = { 2, 6, 5 };`
`    ``int` `cross_P[n];`
`    ``// dotProduct function call`
`    ``cout << ``"Dot product:"``;`
`    ``cout << dotProduct(vect_A, vect_B) << endl;`
`    ``// crossProduct function call`
`    ``cout << ``"Cross product:"``;`
`    ``crossProduct(vect_A, vect_B, cross_P);`
`    ``// Loop that print`
`    ``// cross product of two vector array.`
`    ``for` `(``int` `i = 0; i < n; i++)`
`        ``cout << cross_P[i] << ``" "``;`
`    ``return` `0;`
`}`

Output –

```-4
-49 7 28

```

Disclaimer: This does not belong to TechCodeBit, its an article taken from the below
source and credits.
source and credits:http://www.geeksforgeeks.org/program-dot-product-cross-product-two-vector/
We have built the accelerating growth-oriented website for budding engineers and aspiring job holders of technology companies such as Google, Facebook, and Amazon
If you would like to study our free courses you can join us at