- 71
- 0
- 约3.73千字
- 约 7页
- 2017-12-22 发布于河南
- 举报
矩阵系统源代码
矩阵系统源代码
#include iostream
#include stdio.h
using namespace std;
class Vector
{
private :
int Hang; //矩阵的行数
int Lie; //矩阵的列数
double **ptr; //用于动态分配矩阵空间所定义的指针
public:
Vector(int H=2, int L=2); //构造函数,动态分配内存存储矩阵元素
void InPut(); //输入矩阵元素
void Show()const; //显示矩阵内容
Vector operator+(const Vector JZ)const; //重载操作符 + 实现两个矩阵相加
Vector operator*(const Vector JZ)const; //重载操作符 * 实现两个矩阵相加
void convert(); //矩阵转置函数
};
Vector::Vector(int H, int L)
{
Hang = H;
Lie = L;
ptr = new double*[Hang]; //分配Hang个int*空间
if(ptr == NULL) //判断空间分配是否成功
{
cout分配空间失败!endl;
exit(-1);
}
for(int i=0; iHang; i++)
{
ptr[i] = new double[Lie];//让每一行的指针指向一个Lie大小的空间
if(ptr[i] == NULL)
{
cout分配空间失败!endl;
exit(-1);
}
}
for(int m=0; mHang; m++) //将矩阵元素默认值设置为-1
for(int j=0; jLie; j++)
ptr[m][j] = -1;
}
void Vector::InPut()
{
cout这是一个 Hang 行 Lie 列的矩阵.endl;
cout请输入:endl;
char s[8];
for(int i=0; iHang; i++)
for(int j=0; jLie; j++)
{
cout第i行j列元素[i][j]:;
cins;
ptr[i][j]=atof(s);
if(s[0]==0)
{
ptr[i][j]=atof(s);
}
else if(ptr[i][j]==0)
{
cout您的输入不合法。endl;
j=j-1;
}
}
return;
}
void Vector::Show() const
{
for(int i=0; iHang; i++)
{
for(int j=0; jLie; j++)
coutptr[i][j] ;
coutendl;
}
}
Vector Vector::operator +(const Vector JZ) const
{
if(Hang != JZ.Hang || Lie != JZ.Lie)
{
cout两个矩阵大小不一致,加法操作失败endl;
return Vector();
}
Vector temp(Hang,Lie); //创建临时对象存储两矩阵的和
for(int i=0; iHang; i++)
for(int j=0; jLie; j++)
temp.ptr[i][j] = ptr[i][j] + JZ.ptr[i][j];
return temp;
}
Vector Vector::operator *(const Vector JZ) const
{
if(Lie != JZ.Hang)
{
cout两个矩阵行列不匹配,乘法操作失败endl;
return Vector();
}
Vector temp(Hang,JZ
您可能关注的文档
最近下载
- 大众MQB平台刷隐藏功能教程(迈腾).pdf VIP
- 上汽通用别克-威朗-产品使用说明书-15S 自动进取型 18MY-SGM7152DAAB-2018年款上汽通用别克威朗用户手册1.pdf VIP
- 营销策划 -MINI品牌中国小红书内容种草策略分享-运营思路V2-小红书汽车.pdf
- 电子处方样本.docx VIP
- 专题05 名著阅读(解析版)--2025年中考语文真题分类汇编(全国通用).docx
- line6hd500箱头模拟原型..docx VIP
- DOTA技巧全集.doc VIP
- PD ISO-TS22331-2018安全与韧性-业务连续性管理体系-业务连续性策略指南(译-2025).docx VIP
- 蓝色精美简约风网页设计师个人简历通用Word模板.docx VIP
- YS∕T 649-2018 铜及铜合金挤制棒.pdf
原创力文档

文档评论(0)