Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- class Vector
- {
- private:
- int amount; //Количество координат
- int coordinates [100]; //Координаты
- public:
- Vector () //Конструктор
- {
- }
- ~Vector () //Деструктор
- {
- }
- void SetAmount (int n) //Методы для координат и необходимого количества
- {
- amount = n;
- }
- // void SetCoordinates (int value, int i)
- // {
- // coordinates [i] = value;
- // }
- int& operator[](int i) {
- return coordinates[i];
- }
- int GetAmount () const
- {
- return amount;
- }
- int GetCoordinates (int i) const //Координаты
- {
- return coordinates [i];
- }
- const Vector operator+ (const Vector& v)
- {
- int i;
- Vector tmp=v;
- for (i=0; i<this->amount; i++)
- tmp.coordinates [i] = coordinates[i]+v.GetCoordinates(i);
- return tmp;
- }
- const Vector operator- (const Vector& v)
- {
- int i;
- Vector tmp=v;
- for (i=0; i<this->amount; i++)
- tmp.coordinates [i] = coordinates[i]-v.GetCoordinates(i);
- return tmp;
- }
- bool operator== (const Vector& v)
- {
- int flag = 0;
- for (int i=0; i<this->amount; i++){
- if(this->coordinates[i] == v.coordinates[i]) {}
- else
- flag = 1;
- }
- if (flag != 0)
- return false;
- return true;
- }
- bool operator!= (const Vector& v)
- {
- int flag = 0;
- for (int i=0; i<amount; i++){
- if(coordinates[i] != v.coordinates[i]) {
- flag = 1;
- }
- }
- if (flag == 0)
- return false;
- return true;
- }
- double operator* (const Vector& v)
- {
- int i;
- Vector tmp=v;
- double m=0;
- for (i=0; i<this->amount; i++){
- tmp.coordinates [i] = coordinates[i]*v.GetCoordinates(i);
- m=m+tmp.coordinates[i];
- }
- //m=sqrt(m);
- return m;
- }
- };
- ostream& operator<< (ostream& out , Vector& v) {
- for(int i = 0; i < v.GetAmount(); i++) {
- out << v[i] << " ";
- }
- return out;
- }
- istream& operator>> (istream& in, Vector& v) {
- for(int i = 0; i < v.GetAmount(); i++) {
- in >> v[i];
- }
- return in;
- }
- int main ()
- {
- setlocale (LC_ALL,"rus");
- Vector Vector1;
- Vector Vector2;
- Vector Vector3;
- Vector Vector4;
- Vector Vector5;
- int n;
- int i;
- int value;
- cout << "Введите количество координат векторов:\n";
- cin >> n;
- Vector1.SetAmount (n);
- cout << "Введите координаты вектора 1:\n";
- cin >> Vector1;
- Vector2.SetAmount (n);
- cout << "Введите координаты вектора 2:\n";
- cin >> Vector2;
- Vector3=Vector1+Vector2;
- Vector4=Vector1-Vector2;
- cout << "\nВектор 1:\n" << Vector1 << "\n";
- cout << "Вектор 2:\n" << Vector2 << "\n";
- cout << "Вычитаем из вектора 1 вектор 2 = " << Vector4 << "\n";
- cout << "Складываем вектор 1 с вектором 2 = " <<Vector3 << endl;
- bool a = Vector2 == Vector1;
- bool b = Vector2 != Vector1;
- //cout<<a<<b;
- double m=Vector1*Vector2;
- cout << "Умножение векторов: " << m << endl;
- if (a == true && b == false)
- cout << "Векторы равны" << endl;
- else
- cout << "Векторы неравны" << endl;
- cout << b;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement