Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Vector

/*vectmat4.cpp*/

#include <iostream.h>

#include <conio.h>

class matrix; // khai báo lớp matrix

class vector{ //khai báo lớp vector

  static int n;  //số chiều của vector

  float *v;   // vùng nhớ chứa các toạ độ

  public: // khai báo các hàm thành phần công cộng

  vector(); // khai báo hàm vector không tham số

  vector(float *); // khai báo hàm vector

  vector(vector &); //khai báo hàm thiết lạp sao chép

  ~vector(); //khai báo hàm huỷ bỏ vector không tham số

  void display(); // Khai báo và định nghĩa hàm díplay không tham số

  static int & Size() {return n;} //

  friend vector operator*(matrix &, vector &);

  friend class matrix;

  };

int vector::n = 0;

vector::vector()  {

  v= new float [n];

  for(i=0;i<n;i++) {

    cout<<"Toa do thu "<<i+1<<" : ";

    cin>>v[i];

    }

  }

vector::vector(float *a) {

  for(int i =0; i<n; i++)

    v[i]=a[i];

  }

vector::vector(vector &b){

  for(i=0;i<n;i++)

    v[i] = b.v[i];

  }

vector::~vector(){

  delete v;

  }

void vector::display() {

  for(int i=0;i<n;i++)

    cout <<v[i] <<" ";

  cout <<"

";

}

class matrix {

  static int n;

  vector *m;  

  public:

  matrix();

  matrix(matrix &);

  ~matrix();

  void display();

  static int &Size() {return n;}

  friend vector operator*(matrix &, vector &);

  };

int matrix::n =0;

matrix::matrix(){

  m= new vector [n];

  }

matrix::matrix(matrix &b) {

  int i,j;

  m= new vector[n];

  for (i=0; i<n; i++)

    for (j=0; j<n; j++)

      m[i].v[j]=b.m[i].v[j];

  }

matrix::~matrix() {

  delete m;

  }

void matrix::display()  {

for (int i=0; i<n; i++)

  m[i].display();

}

vector operator*(matrix &m,vector &v) {

  float *a = new float [vector::Size()];

  int i,j;

  for (i=0; i<matrix::Size(); i++) {

    a[i]=0;

    for(j=0; j<vector::Size(); j++)

      a[i]+=m.m[i].v[j]*v.v[j];

    }

  return vector(a);

  }

void main() {

  clrscr();

  int size;

  cout<<"Kich thuoc cua vector "; cin>>size;

  vector::Size() = size;

  matrix::Size() = size;

  cout<<"Tao mot vector

";

  vector v;

  cout<<" v=

";

  v.display();

  cout<<"Tao mot ma tran

";

  matrix m;

  cout<<" m =

";

  m.display();

  cout<<"Tich m*v

";

  vector u = m*v;/* opertaor*(m,v) */

  u.display();

  getch();

 }

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: