Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class vector
- {
- int size;
- float* v;
- public:
- vector(int n = 0);
- vector(const vector& copy);
- ~vector();
- void output();
- void input(int n);
- vector operator+ (const vector& a);
- float operator* (const vector& a);
- vector operator* (int n);
- bool operator== (vector& L);
- bool operator!= (vector& L);
- bool operator> (vector& L);
- bool operator< (vector& L);
- float lenght();
- friend ostream& operator<< (ostream& out, const vector& c);
- friend istream& operator>> (istream& in, vector& c);
- float agel(const vector& a);
- };
- vector::vector(int n)
- {
- size = n;
- v = new float[n];
- }
- vector::vector(const vector& copy)
- {
- size = copy.size;
- v = new float[size];
- for (int i = 0; i < size; i++)
- v[i] = copy.v[i];
- }
- vector::~vector()
- {
- delete[]v;
- }
- void vector::output()
- {
- cout << size << endl;
- for (int i = 0; i < size; i++) cout << v[i] << " ";
- }
- void vector::input(int n)
- {
- size = n;
- v = new float[size];
- cout << "Enter vector value: " << endl;
- for (int i = 0; i < size; i++)
- {
- cin >> v[i];
- }
- }
- vector vector::operator+ (const vector& a)
- {
- vector t(size);
- t.size = a.size;
- for (int i = 0; i < size; i++)
- t.v[i] = v[i] + a.v[i];
- return t;
- }
- vector vector::operator*(int n)
- {
- vector t;
- t.size = size;
- t.v = new float[size];
- for (int i = 0; i < size; i++)
- {
- t.v[i] = v[i] * n;
- }
- return t;
- }
- float vector::operator*(const vector& a)
- {
- float vek = 0;
- for (int i = 0; i < size; i++)
- {
- vek = vek + (v[i] * a.v[i]);
- }
- return vek;
- }
- float vector::lenght()
- {
- float t = 0;
- for (int i = 0; i < size; i++)
- {
- t = t + (v[i] * v[i]);
- }
- return t = sqrt(t);
- }
- bool vector::operator== (vector& L)
- {
- return lenght() == L.lenght();
- }
- bool vector::operator!= (vector& L)
- {
- return lenght() != L.lenght();
- }
- bool vector::operator> (vector& L)
- {
- return lenght() > L.lenght();
- }
- bool vector::operator< (vector& L)
- {
- return lenght() < L.lenght();
- }
- ostream& operator<< (ostream& out, const vector& c)
- {
- out << c.size << endl;
- for (int i = 0; i < c.size; i++) out << c.v[i] << " ";
- return out;
- }
- istream& operator>> (istream& in, vector& c)
- {
- in >> c.size;
- c.v = new float[c.size];
- cout << "Input vector value: " << endl;
- for (int i = 0; i < c.size; i++)
- {
- in >> c.v[i];
- }
- return in;
- }
- float vector::agel(const vector& a)
- {
- float t = 0, r = 0;
- for (int i = 0; i < size; i++)
- {
- r = r + (v[i] * a.v[i]);
- }
- float q = 0, w = 0;
- for (int i = 0; i < size; i++)
- {
- q = q + (v[i] * v[i]);
- }
- q = sqrt(q);
- for (int i = 0; i < size; i++)
- {
- w = w + (a.v[i] * a.v[i]);
- }
- w = sqrt(w);
- t = cos(r / (q * w));
- return t;
- }
- int main()
- {
- int n = 0, as = 0;
- cout << "Enter n:" << endl;
- cin >> n;
- cout << endl;
- vector a, c;
- a.input(n);
- c.input(n);
- cout << "Sum of 2 vectors: " << endl;
- a.vector::operator+(c).output();
- cout << endl;
- cout << "Enter value you want to multiple this vector to: " << endl;
- cin >> as;
- cout << "Multiplication result: " << endl;
- a.operator*(as).output();
- cout << endl;
- cout << "Result of multiplication vector to vector: " << endl;
- cout << a.operator*(c) << endl;
- cout << "Vector a's length: " << endl;
- cout << a.lenght() << endl;
- cout << "Vector c's length: " << endl;
- cout << c.lenght() << endl;
- cout << "==, !=, >, < :" << endl;
- cout << a.operator==(c) << endl;
- cout << a.operator!=(c) << endl;
- cout << a.operator>(c) << endl;
- cout << a.operator<(c) << endl;
- cout << endl;
- cout << a.agel(c) << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment