Скачиваний:
2
Добавлен:
01.05.2014
Размер:
1.94 Кб
Скачать
class TVector
{
//  public:
  private:

    int N;
  public:
  double *coords; //need for grad
//getting coord
    double *Value(void)
    {
      return coords;
    };
//dimensions
    int Dimensions(void)
    {
      return N;
    };
//constructor
    TVector(double *Init,int iN)
    {
      N=iN;
      coords=new double[N];
      for(int i=0;i<N;i++)
      {
        //ShowMessage(IntToStr(i));
        coords[i]=Init[i];
      };
    };
    TVector()
    {
      N=0;
      coords=NULL;
    };
    TVector(TVector &A)
    {

      if(N!=A.N) N=A.N;
      coords=new double[N];
      //ShowMessage(IntToStr(N));
      for(int i=0;i<N;i++)
      {
        //ShowMessage(IntToStr(i));
        if(i>=N) break;
        coords[i]=A.coords[i];
        //ShowMessage("coord="+FloatToStr(coords[i]));
      }  
      //coords[0]=A.coords[0];
      //coords[1]=A.coords[1];
    };
//destructor
    ~TVector()
    {
      if(coords)
        delete coords;
      coords=NULL;
    };
//peremnojenie vectorov
    double operator *(TVector A)
    {
      double result=0;
      for(int i=0;i<N;i++)
        result+=A.coords[i]*coords[i];
      return result;
    };
//umnojenie na chislo
    void operator *=(double scalar)
    {
      for(int i=0;i<N;i++)
        this->coords[i]*=scalar;
    };
//uvelichenie na vektor
    void operator +=(TVector A)
    {
      if(N==A.N)
        for(int i=0;i<N;i++)
          this->coords[i]+=A.coords[i];
    };
//prisvoenit
    TVector operator =(TVector A)
    {
      if(N!=A.N)
      {
        delete coords;
        N=A.N;
        this->coords=new double[A.N];
      };
      for(int i=0;i<N;i++)
        this->coords[i]=A.coords[i];
      return *this;
    };
//norma
double norm()
{
   int k;
   double sum=0;
   for (k=0;k<N;k++)
   {
      sum+=coords[k]*coords[k];
   }

   return sqrt(sum);
}

};
Соседние файлы в папке gera
  • #
    01.05.201436.43 Кб2Unit2.obj
  • #
    01.05.2014523 б2Unit3.cpp
  • #
    01.05.2014328 б2Unit3.dfm
  • #
    01.05.2014750 б2Unit3.h
  • #
    01.05.201434.5 Кб2Unit3.obj
  • #
    01.05.20141.94 Кб2vector.h
  • #
    01.05.20141.92 Кб2vector.~h