矩阵乘法

2018-11-14 13:17

矩阵乘法

一.程序代码

#include using namespace std; typedef int Script; struct node{

Script data; node *next; }; class List {

private: node *head; node *tail; int n; public:

List(); void Destroy();

Script Get(int index); void Add(Script data); node * Index(int index); }; List::List() {

head=NULL; tail=NULL; n=0;

}

void List::Add(Script data) {

node *p=new node; p->data=data; p->next=NULL; if(head==NULL) { } else {

tail->next=p; tail=p; head=tail=p;

}

n++; }

void List::Destroy() { }

node *p;

while(head!=NULL) { }

p=head;

head=head->next; delete p;

tail=NULL;

node * List::Index(int index) {

if(index<=n&&index>0) { node *p=head; }

node *p1=head; while(--index) { }

p1=p1->next; p=p1;

return p;

return NULL; }

Script List::Get(int index) {

if(index<=n&&index>0) { }

node *p=Index(index); return p->data;

return -999;

}

class Juzhen { public: int dim; List *list; public:

Juzhen();

Juzhen(int dd,Script *ps); void Destroy();

Juzhen operator *(Juzhen v); Script Get(int m,int n); void Print();

void operator =(Juzhen v);

};

Juzhen::Juzhen() {

dim=0; list=NULL;

}

Juzhen::Juzhen(int d,Script *pn) {

if(d>0) { } else { }

Juzhen(); int i=0; dim=d; list=new List(); int num=d*d; while(num) { list->Add(pn[i]); i++; }

num--;

}

void Juzhen::Destroy() { }

Juzhen Juzhen::operator *(Juzhen v) {

int data=0; Juzhen newV; if(list!=NULL)

list->Destroy(); this->dim=0; list=NULL;

newV.dim=dim; newV.list=new List(); int num=dim*dim; for(int i=0;i

for(int j=0;j

for(int k=0;k

int m=i*dim+k+1,n=j*dim+k+1;

data+=list->Get(i*dim+k+1)*v.list->Get(k*dim+j+1);

newV.list->Add(data); data=0;

return newV; }

void Juzhen::operator=(Juzhen v) {

dim=v.dim;

list=v.list; }

Script Juzhen::Get(int m,int n) {

int num=(m-1)*dim+n; return list->Get(num);

}

void Juzhen::Print() { } int main() {

int n=0;

cout<<\请输入矩阵维数:\for(int i=0;i

for(int j=0;j

cout<

int m=this->Get(i+1,j+1); cout<

}

cin>>n;

Script *A=new Script[n*n]; Script *B=new Script[n*n]; cout<

cout<<\请输入矩阵A:\for(int i=0;i

for(int j=0;j

cout<<\cin>>A[i*n+j];

}

cout<

cout<<\请输入矩阵B:\for(i=0;i

for(int j=0;j

cout<<\cin>>B[i*n+j];

Juzhen jz1(n,&A[0]); Juzhen jz2(n,&B[0]);

Juzhen jz3=jz1*jz2; cout<

cout<<\矩阵A*矩阵B=\jz3.Print(); return 0;

二,结果截图


矩阵乘法.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东省滕州市鲍沟中学2018-2019学年八年级下学期第二次阶段性检

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

马上注册会员

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