《矩阵与向量相乘修改版》由会员分享,可在线阅读,更多相关《矩阵与向量相乘修改版(10页珍藏版)》请在金锄头文库上搜索。
1、矩阵与向量相乘矩阵与向量相乘 修改版修改版 1 cpp includeiostream using namespace std include 2 h int main int row col cout请输入矩阵的行数与列数 cinrowcol Mat m row col Vec v col Vec r row cout请输入矩阵的元素 n int i j for i 0 irow i for j 0 jcol j cinm element i j cout请输入向量的元素 n for i 0 icol i cinv element i Mul m v r coutthe number of
2、the Mat m HowMat endl coutthe number of the Vec v HowVec endl cout矩阵 n m display cout与向量 n v display cout的乘积 n r display return 0 2 h includecstdlib using namespace std define string class Matrix public virtual void display 0 矩阵类定义 class Mat public Matrix int p data int row col static int num Mats p
3、ublic Mat int r int c Mat int element int r int j 访问矩阵元素 int element int i int j const 访问矩阵元素 为常量对象提供 int dim row const int dim col const void display static int HowMat 向量类的定义 class Vec public Matrix int p data int num static int num Vecs public Vec int n Vec int element int i 访问向量元素 int element int
4、 i const int dim const void display static int HowVec void Mul const Mat m const Vec v Vec r 3 cpp includeiostream using namespace std include 2 h int Mat num Mats 0 int Vec num Vecs 0 int Mat HowMat return num Mats int Vec HowVec return num Vecs 矩阵类的实现 Mat Mat int r int c if r 0 c 0 cout矩阵尺寸不合法 end
5、l exit 1 row r col c p data new int row col num Mats Mat Mat delete p data num Mats int Mat element int i int j if i0 i row j0 j col coutthe index is wrong endl exit 1 return p data i col j int Mat element int i int j const if i0 i row j0 j col cout矩阵下标越界 nendl exit 1 return p data i col j int Mat d
6、im row const return row int Mat dim col const return col void Mat display int p p data for int i 0 irow i for int j 0 jcol j cout p p coutendl 向量类的实现 Vec Vec int n if n 0 cout向量尺寸不合法 endl exit 1 num n p data new int num num Vecs Vec Vec delete p data num Vecs int Vec element int i if i0 i num exit 1
7、 return p data i int Vec element int i const if i0 i num exit 1 return p data i int Vec dim const return num void Vec display const int p p data for int i 0 inum i p cout p coutendl 矩阵与向量相乘 void Mul const Mat m const Vec v Vec r if m dim col v dim m dim row r dim cerr 矩阵与向量尺寸不匹配 n exit 1 int row m dim row col m dim col for int i 0 irow i r element i 0 for int j 0 jcol j r element i m element i j v element j