学生成绩管理系统 - 数据结构上机实验报告Yangtze(6)

2019-01-27 10:25

return output; }

Matrix operator-(Matrix &m1,Matrix &m2) {

Matrix m(m1.row,m1.col); int i,j;

for(i=0;i

m.mx[i][j]=m1.mx[i][j]-m2.mx[i][j]; return m; }

Matrix operator!(Matrix &m1) {

int i,j;

Matrix m(m1.col,m1.row); for(i=0;i

m.mx[j][i]=m1.mx[i][j]; return m; }

int main() {

int n,m; int n1,n2;

cout<<\加法与减法**********\ cout<<\请输入行数与列数:\ cin>>n>>m;

Matrix m1(n,m);

cout<<\输入第一个矩阵:\ cin>>m1;

Matrix m2(n,m);

cout<<\输入第二个矩阵:\ cin>>m2;

Matrix m3(m1+m2);

cout<<\两矩阵相加后:\ cout<

cout<<\两矩阵相减后:\ Matrix m31(m1-m2); cout<

cout<<\乘法*********\cout<<\请输入第一个矩阵的行与列:\cin>>n>>m;

Matrix m4(n,m);

cout<<\输入第一个矩阵:\cin>>m4;

cout<<\请输入第二个矩阵的行与列:\cin>>n1>>n2;

Matrix m5(n1,n2);

cout<<\输入第二个矩阵:\cin>>m5; try{

Matrix m6(m4*m5);

cout<<\两矩阵相乘后:\ cout<

catch(int) {

cout<<\第一个矩阵的列数不等于第二个矩阵的行数,所以不能相乘!\ }

cout<<\转置**********\cout<<\请输入矩阵的行与列:\cin>>n>>m;

Matrix m7(n,m);

cout<<\输入一个矩阵:\cin>>m7;

Matrix m8(!m7);

cout<<\转置后:\cout<

稀疏矩阵的快速转置:

#include using namespace std; class matrix {

public:

int data[100][100]; int m,n; };

typedef int spmatrix[100][3];

void Init(matrix& mx);//稀疏矩阵初始化

void SpmDisplay(spmatrix spm);//显示三元组表示的矩阵

void Compressmatrix(matrix A,spmatrix B);//将稀疏矩阵转换为三元组矩阵

void Transpmatrix(spmatrix B,spmatrix& C);//将三元组矩阵转置

int main() {

matrix mx;

spmatrix spm1,spm2; //矩阵初始化 Init(mx);

//矩阵转为三元组

Compressmatrix(mx,spm1); //显示三元组矩阵 SpmDisplay(spm1);

//将三元组转置存放到spm2中 Transpmatrix(spm1,spm2); //显示转置后的三元组 SpmDisplay(spm2); return 0; }

void Init(matrix& mx) {

cout<<\矩阵的行数:\ cout<<\矩阵的列数:\ cout<<\输入矩阵:\ for(int i=0;i!=mx.m;i++) for(int j=0;j!=mx.n;j++) cin>>mx.data[i][j]; }

void SpmDisplay(spmatrix spm) {

for(int x=0;x<=spm[0][2];x++) for(int y=0;y<=2;y++) {

static int z=0; if(0==z%3) cout<

cout<

cout<

}

void Compressmatrix(matrix A,spmatrix B) {

int i,j,k=1;

for(i=0;i

B[k][0]=i; B[k][1]=j;

B[k][2]=A.data[i][j]; k++; }

B[0][0]=A.m; B[0][1]=A.n; B[0][2]=k-1;

cout<<\压缩完成\}

void Transpmatrix(spmatrix B,spmatrix& C) {

int i,j,t,m,n; int x[100]; int y[100];

m=B[0][0];n=B[0][1];t=B[0][2]; C[0][0]=n;C[0][1]=m;C[0][2]=t; if(t>0) {

for(i=0;i

for(i=1;i<=t;i++) x[B[i][1]]=x[B[i][1]]+1; y[0]=1;

for(i=1;i

j=y[B[i][1]]; C[j][0]=B[i][1]; C[j][1]=B[i][0]; C[j][2]=B[i][2]; y[B[i][1]]=j+1; } }

cout<<\变换完成\}

实验结果:


学生成绩管理系统 - 数据结构上机实验报告Yangtze(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:黑龙江虎林八五零农场学校人教七级上册英语教学案:unit-教学案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: