Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5.     class Vector{
  6.     private:
  7.         int *v;
  8.     public:
  9.         int dim=0;
  10.         Vector(int n){
  11.             dim=n;
  12.             v=new int[dim];
  13.             for(int i=0;i<dim;i++)
  14.                 *(v+i)=0;
  15.         }
  16.         ~Vector(){
  17.             delete[] v;
  18.         }
  19.  
  20.         int * get(){
  21.             return v;
  22.         }
  23.  
  24.         double length(){
  25.             double length=0;
  26.             for(int i=0;i<dim;i++){
  27.                 length+=pow(*(v+i),2);
  28.             }
  29.             return sqrt(length);
  30.         }
  31.  
  32.         void set(int index,int value){
  33.             if(index < dim){
  34.                 *(v+index)=value;
  35.             }
  36.         }
  37.  
  38.         void Display_Coords(){
  39.             for(int i=0;i<dim;i++)
  40.                 cout<<*(v+i)<<" ";
  41.             cout << endl;
  42.         }
  43.  
  44.         friend Vector & operator+(Vector &left,Vector &right);
  45.         Vector & operator*(int A){
  46.             Vector * temp= new Vector(this->dim);
  47.             for(int i=0;i<dim;i++)
  48.                 temp->set(i,*(v+i)*A);
  49.             return *temp;
  50.         }
  51.     };
  52. Vector & operator+(Vector &left, Vector &right){
  53.     if(left.dim==right.dim){
  54.         Vector * temp = new Vector(left.dim);
  55.         int *lp=left.get();
  56.         int *rp=right.get();
  57.         for(int i=0;i<temp->dim;i++){
  58.             temp->set(i,*(lp+i)+*(rp+i));
  59.         }
  60.         return *temp;
  61.     }
  62. }
  63. int main(){
  64.     Vector v1(2);
  65.     Vector v2(2);
  66.     v1.set(0,1);
  67.     v1.set(1,2);
  68.     v2.set(0,3);
  69.     v2.set(1,5);
  70.     Vector v3=(Vector)(v1+v2);
  71.     Vector v4=v1*44;
  72.     cout << "V1:";
  73.     v1.Display_Coords();
  74.     cout << "V2:";
  75.     v2.Display_Coords();
  76.     cout << "V3:";
  77.     v3.Display_Coords();
  78.     cout << "V4:";
  79.     v4.Display_Coords();
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement