Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- class Spatiu_Vectorial {
- float a;
- float b;
- float c;
- public:
- Spatiu_Vectorial() {
- a=b=c=0;
- }
- Spatiu_Vectorial(float x, float y, float z) {
- a=x; b=y; c=z;
- }
- void Afisare() {
- cout << "(" << a << ", " << b << ", " << c << ")" << endl;
- }
- float Lungimea() {
- return sqrt(a*a+b*b+c*c);
- }
- friend Spatiu_Vectorial operator + (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2);
- friend Spatiu_Vectorial operator - (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2);
- friend Spatiu_Vectorial operator * (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2);
- friend Spatiu_Vectorial operator / (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2);
- friend float skalar(Spatiu_Vectorial &d1, Spatiu_Vectorial &d2);
- friend float cosinus(Spatiu_Vectorial &d1, Spatiu_Vectorial &d2);
- };
- Spatiu_Vectorial operator + (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2) {
- return Spatiu_Vectorial(d1.a + d2.a, d1.b + d2.b, d1.c + d2.c);
- }
- Spatiu_Vectorial operator - (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2) {
- return Spatiu_Vectorial(d1.a - d2.a, d1.b - d2.b, d1.c - d2.c);
- }
- Spatiu_Vectorial operator * (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2) {
- return Spatiu_Vectorial(d1.a * d2.a, d1.b * d2.b, d1.c * d2.c);
- }
- float skalar (Spatiu_Vectorial &d1, Spatiu_Vectorial &d2) {
- return ((d1.a * d2.a) + (d1.b * d2.b) + (d1.c * d2.c));
- }
- float cosinus(Spatiu_Vectorial &d1, Spatiu_Vectorial &d2) {
- return (skalar(d1, d2)) / (d1.Lungimea() * d2.Lungimea());
- }
- int main() {
- Spatiu_Vectorial a(2, -3, 1), b(1, 4, 2), c, d;
- c=a+b;
- d=a-c;
- a.Afisare();
- b.Afisare();
- c.Afisare();
- d.Afisare();
- cout << cosinus(a, b) << endl;
- cout << cosinus(c, d) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement