C++动态建立矩阵及矩阵相乘

本文提供了一个使用C++进行矩阵创建、显示及相乘操作的示例代码。通过动态内存分配实现矩阵,并演示了矩阵相乘的具体算法过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream.h>
#include <iomanip.h>

int ** create(int m,int n)
{
int i,j;
int **p = new int*[m];
cout <<"输入矩阵"<<endl;
for(i=0;i<m;i++)
{
p[i] =new int[n];
for(j=0;j<n;j++)
{
cin>>p[i][j];
}

}
return p;
}
void show(int **p,int m,int n)
{
int i,j;
cout <<"输出矩阵"<<endl;
for(i=0;i<m;i++)
{

for(j=0;j<n;j++)
{
cout<<p[i][j]<<" ";
}
cout <<endl;

}
}


void Mut(int **pa,int am,int an,int **pb,int bm,int bn) //乘函数
{

int i,j,k,s,cm,cn;

cm = am;
cn = bn;
cout <<"asdf"<<am<<bm;
int **pc = new int*[cm];
for(i=0;i<cm;i++)
{
pc[i] = new int[cn];
for (j=0;j<cm;j++)
{
s=0;
for(k=0;k<an;k++)
s+=pa[i][k]*pb[k][j];
pc[i][j]=s;
}
}

show(pc,cm,cn);
}


void main()
{
int am,an,bm,bn;
int **pa,**pb;
cout <<"创建矩阵A"<<endl;
cout <<"请输入矩阵行数"<<endl;
cin >>am;
cout <<"请输入矩阵列数"<<endl;
cin >>an;
pa = create(am,an);
show(pa,am,an);

cout <<"创建矩阵B"<<endl;
cout <<"请输入矩阵行数"<<endl;
cin >>bm;
cout <<"请输入矩阵列数"<<endl;
cin >>bn;
pb = create(bm,bn);
show(pb,bm,bn);

Mut(pa,am,an,pb,bm,bn);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值