本文主要详细介绍了C语言中两个矩阵相乘的程序,具有一定的参考价值。感兴趣的朋友可以参考一下。
本文分享C语言中两个矩阵相乘的具体代码,供大家参考。具体内容如下
程序功能:实现两个矩阵相乘的C语言程序并输出。
代码如下:
#include 'stdafx.h '
#包含“windows.h”
void Multi(int * left,int * right,int * result,int f1,int f2,int s1,int S2);
int main()
{
int i,j;
int a[4][3]=
{ {1,2,3},
{4,5,6},
{7,8,9},
{1,2,3}};
int b[3][3]=
{ { 1,2,3 },
{ 4,5,6 },
{7,8,9} };
//c矩阵是矩阵A和矩阵b的乘积。
int c[4][3];
//计算两个矩阵的乘积
Multi(a[0],b[0],c[0],4,3,3,3);
//输出C矩阵
for(I=0;I 4;我)
{
for(j=0;J3;j)
printf('M ',c[I][j]);
printf(' \ n ');
}
系统(“暂停”);
返回0;
}
//矩阵乘法算法,后四个参数是两个相乘的矩阵的行数和列数
void Multi(int * left,int * right,int * result,int f1,int f2,int s1,int s2)
{
//int a[f1][f2],b[s1][s2],c[f1][S2];
//a[i][j]==a[i*f2 j]
//乘以矩阵,要求f2=s1,下面用f2。
for(int I=0;i f1I) //i代表第I行。
{
for(int j=0;j s2J) //j表示j列。
{
结果[I * F2 j]=0;//这里result[I][j]=result[I * F2 j];
for(int p=0;pf2p)
{
结果[I * F2 j]=左[I * F2 p]*右[p * F2 j];
}
}
}
}
运行结果:
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。