From 112a0d344da9e66d20ee9ab5d488e59c5d52e6ad Mon Sep 17 00:00:00 2001 From: Angeld55 Date: Thu, 9 Apr 2020 18:09:42 +0300 Subject: added new examples --- OperatorOverloading/Vector/Source.cpp | 14 ---- OperatorOverloading/Vector/Vector.cpp | 145 ---------------------------------- OperatorOverloading/Vector/Vector.h | 37 --------- 3 files changed, 196 deletions(-) delete mode 100644 OperatorOverloading/Vector/Source.cpp delete mode 100644 OperatorOverloading/Vector/Vector.cpp delete mode 100644 OperatorOverloading/Vector/Vector.h (limited to 'OperatorOverloading/Vector') diff --git a/OperatorOverloading/Vector/Source.cpp b/OperatorOverloading/Vector/Source.cpp deleted file mode 100644 index 02b3dd5..0000000 --- a/OperatorOverloading/Vector/Source.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include "Vector.h" -int main() -{ - - - Vector v1(2); - - std::cin >> v1; - - std::cout << (v1); - - -} diff --git a/OperatorOverloading/Vector/Vector.cpp b/OperatorOverloading/Vector/Vector.cpp deleted file mode 100644 index 397cd46..0000000 --- a/OperatorOverloading/Vector/Vector.cpp +++ /dev/null @@ -1,145 +0,0 @@ -#include "Vector.h" - -Vector::Vector() :coordinates(nullptr), length(0) -{} -Vector::Vector(int len) -{ - coordinates = new int[len]; - for (int i = 0; i < len; i++) - coordinates[i] = 0; - length = len; -} -void Vector::CopyFrom(const Vector& other) -{ - coordinates = new int[other.length]; - for (int i = 0; i < other.GetLen(); i++) - coordinates[i] = other.coordinates[i]; - length = other.length; -} -void Vector::Free() -{ - delete[] coordinates; - length = 0; -} -Vector::Vector(const Vector& other) -{ - CopyFrom(other); -} -Vector& Vector::operator=(const Vector& other) -{ - if (this != &other) - { - Free(); - CopyFrom(other); - } - return *this; -} -Vector::~Vector() -{ - Free(); -} - -int& Vector::operator[](int index) -{ - if (index < length) - return coordinates[index]; - else - throw 0; -} -void Vector::print() -{ - std::cout << '('; - for (int i = 0; i < length; i++) - std::cout << coordinates[i]<<" "; - std::cout <<')' < a*K=b (K е константа). -{ - double coeff = lhs.GetAtIndex(0) / rhs.GetAtIndex(0); - for (int i = 1; i < lhs.GetLen(); i++) - { - if (lhs.GetAtIndex(i) == 0 || rhs.GetAtIndex(i) == 0) - continue; - double Newfirst = lhs.GetAtIndex(i); - double Newcoeff = Newfirst / rhs.GetAtIndex(i); - if (abs(Newcoeff-coeff)>0.01) - return false; - } - return true; -} -bool operator|=(const Vector& lhs, const Vector& rhs) -{ - return lhs%rhs == 0; //скаларното произведение на два успоредни вектора е 0. -} - -std::ostream& operator<<(std::ostream& os, const Vector& v) -{ - for (int i = 0; i < v.GetLen(); ++i) - os << v.GetAtIndex(i) << " "; - return os; -} - -std::istream& operator>>(std::istream& ifs, Vector& v) -{ - for (int i = 0; i < v.GetLen(); ++i) - ifs >> v[i]; - return ifs; -} diff --git a/OperatorOverloading/Vector/Vector.h b/OperatorOverloading/Vector/Vector.h deleted file mode 100644 index 03969d8..0000000 --- a/OperatorOverloading/Vector/Vector.h +++ /dev/null @@ -1,37 +0,0 @@ -#include -class Vector -{ -private: - int* coordinates; - int length; - void CopyFrom(const Vector& other); - void Free(); -public: - Vector(); - Vector(int len); - - Vector(const Vector& other); - Vector& operator=(const Vector& other); - ~Vector(); - - int GetLen() const; - - Vector& operator+=(const Vector& other); - Vector& operator-=(const Vector& other); - Vector& operator*=(int); - - friend std::ostream& operator<<(std::ostream&, const Vector& v); - friend std::istream& operator>>(std::istream&, Vector& v); - - int GetAtIndex(int index) const; - int& operator[](int index);// оператор за индексиране(като в масивите) vector a; a[4] -взима четвъртия кординат на вектора - void print(); -}; - -Vector operator+(const Vector& lhs, const Vector& rhs);// Събиране на два вектора -Vector operator-(const Vector& lhs, const Vector& rhs);// Изваждане на два вектора - -int operator%(const Vector& lhs, const Vector& rhs); // Скаларно произведение на два вектора - -bool operator||(const Vector& lhs, const Vector& rhs); // Дали два вектора са успоредни -bool operator|=(const Vector& lhs, const Vector& rhs); // Дали два вектора са перпендикулярни -- cgit v1.3.1-23-gd82d