c语言44矩阵相乘函数,c语言矩阵相乘代码

c语言矩阵乘法函数

函数类型是根据有无返回值判断的,无返回值就把函数定义为void类型

为云浮等地区用户提供了全套网页设计制作服务,及云浮网站建设行业解决方案。主营业务为网站设计制作、成都网站设计、云浮网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

如果是单纯输出矩阵那就不用返回了,如果还要传回主函数有其它应用那就返回吧

用c语言实现两个矩阵相乘怎么做?

1、程序运行输入数据时,第一行为A矩阵的行列数和B矩阵的行列数,接着分别输入A、B两个矩阵的值。

2、首先,定义6个整型变量,保存A、B矩阵的行和列,以及控制循环的变量,k则用于实现矩阵的乘法。

3、接着,定义三个整型二维数组,保存A、B和C矩阵的各元素。

4、输入三个矩阵的行数和列数,保存在变量a、b、c中。

5、输入矩阵A的各元素,保存在数组X中。

6、输入矩阵B的各元素,保存在数组Y中。

7、将二维数组Z的各元素,初始化为0。

8、用两层for循环,控制矩阵的乘法,并输出乘法所得的结果。

9、计算A矩阵和B矩阵的乘法,结果保存在数组Z中。

10、最后,输出乘法所得的结果,即输出Z数组中的所有元素。

11、运行程序,输入矩阵A和B的行数和列数,以及A矩阵和B矩阵的所有元素,电脑就会计算出乘积C矩阵的所有元素,并输出C矩阵。

C语言编程:编写一个函数,实现矩阵的乘法。

如果确定距阵的大小长度,定义两个二维数组,用两个for循环两数据输入到内存,是每两个for输入一个数组,然后定义另外一个数组,用来得到结果距阵,再用三个嵌套的for将结果放入第三个数组当中,即c[i][j]=a[i][k]+b[k][j],k是在第三重循环,这样就可以得到要求的距阵,如果不确定大小长度就在输入语句的每个for循环的辖区内加一个变量作为标记程序运行时求出距阵的大小

C语言关于矩阵乘法的函数,,

童鞋,不知道你是用的什么测试数据,在我的机器上测试了几组数据,结果都是正确的。

重复下我的测试代码。

#include

"stdio.h"

#include

"stdlib.h"

#include

"malloc.h"

void

multiplication(int

a,int

b,int

c,int

*p,int

*q);

void

main()

{

int

m,n,l,h;

int

i,j,g,k;

int

*p,*q;

char

x;

printf("请输入a矩阵行数和列数,以空格分开,,,");

scanf("%d

%d",m,n);

p=(int

*)malloc(sizeof(int)*m*n);

for(i=0;im;i++)

for(j=0;jn;j++)

{

printf("请输入a矩阵%d行%d列的数,,",(i+1),(j+1));

scanf("%d",(p+m*i+j));

}

printf("请输入b矩阵行数和列数,以空格分开,,,");

scanf("%d

%d",l,h);

q=(int

*)malloc(sizeof(int)*l*h);

for(g=0;gl;g++)

for(k=0;kh;k++)

{

printf("请输入b矩阵%d行%d列的数,,",(g+1),(k+1));

scanf("%d",(q+l*g+k));

}

multiplication(

m,

n,

h,

p,

q);

}

void

multiplication(int

a,int

b,int

c,int

*p,int

*q)

{

int

i,j;

int

k;

int

sum;

for(i=0;ia;i++)

{

for(j=0;jc;j++)

{

sum=0;

for(k=0;kb;k++)

{

sum=sum+(*(p+a*i+k))*(*(q+b*k+j));

}

printf("%d

",sum);

}

printf("\n");

}

}

附带一组测试数据

A

3

4

2

1

B

3

4

Result

25

10

结果正确。

C语言4X4矩阵相乘问题!

#include stdio.h

void main()

{

int a[4][4],b[4][4],c[4][4];

int i,j,k;int s[4][4]={0};

printf("请输入矩阵A:\n");

for(i=0;i=3;i++)

{

for(j=0;j=3;j++)

{

printf("a[%d][%d]=",i,j);

scanf("%d",a[i][j]);

}

}

printf("\n");

printf("请输入矩阵B:\n");

for(i=0;i=3;i++)

{

for(j=0;j=3;j++)

{

printf("a[%d][%d]=",i,j);

scanf("%d",b[i][j]);

}

}

printf("矩阵A:\n");

for(i=0;i=3;i++)

{

for(j=0;j4;j++)

{

printf("%d ",a[i][j]);

if(j==3)

printf("\n");

}

}

printf("\n");

printf("矩阵B:\n");

for(i=0;i4;i++)

{

for(j=0;j4;j++)

{

printf("%d ",b[i][j]);

if(j==3)

printf("\n");

}

}

printf("\n");

printf("矩阵C=A*B:\n");

for(i=0;i4;i++)

{

for(j=0;j4;j++)

{

for(k=0;k4;k++)

{

s[i][j]+=a[i][k]*b[k][j];

}

c[i][j]=s[i][j];

printf("%d ",c[i][j]);

if(j==3)

printf("\n");

}

}

}


文章标题:c语言44矩阵相乘函数,c语言矩阵相乘代码
文章位置:http://scyanting.com/article/hscjhd.html