c语言两矩阵相乘的函数 c语言两矩阵相加

C语言中两矩阵相乘#include stdio.h
int main()
{
int x,y,z;
int i,j,l;
int sum=0;
printf("请输入前一个矩阵的行数,列数与后一个矩阵的列数:\n");
scanf("%d %d %d",x,y,z);
int a[x][y];
int b[y][z];
int c[x][z];
//读入矩阵
printf("请输入矩阵a:\n");
for(i=0;ix;i){
for(j=0;jy;j){
scanf("%d",a[i][j]);
}
}
printf("请输入矩阵b:\n");
for(i=0;iy;i){
for(j=0;jz;j){
scanf("%d",b[i][j]);
}
}
printf("矩阵a为:\n");
for(i=0;ix;i){
for(j=0;jy;j){
printf("%d",a[i][j]);
if(j==y-1)
printf("\n");
else
printf("\t");
}
}
printf("矩阵b为:\n");
for(i=0;iy;i){
for(j=0;jz;j){
printf("%d",b[i][j]);
if(j==z-1)
printf("\n");
else
printf("\t");
}
}
for(i=0;ix;i){
for(l=0;lz;l){
for(j=0;jy;j){
sum =a[i][j]*b[j][l];
if(j==y-1){
c[i][l]=sum,sum=0;
}
}
}
}
printf("矩阵a与矩阵b的乘积为:\n");
for(i=0;ix;i){
for(j=0;jz;j){
printf("%d",c[i][j]);
if(j==z-1)
printf("\n");
else
printf("\t");
}
}
return 0;
}
c语言,用函数调用的方式求两个矩阵相乘 。#include bits/stdc.h
using namespace std;
int a[233][233],b[233][233],c[233][233];
/*上述代码*/
int main(){
scanf("%d",n);
for (int i=1;i=n;i) for (int j=1;j=n;j) scanf("%d",a[i][j]);
for (int i=1;i=n;i) for (int j=1;j=n;j) scanf("%d",b[i][j]);
mult(a,b,c);
}
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");
}
}
附带一组测试数据
A34
21
B 3
4
Result
25
10
结果正确 。
求高手帮忙用c语言求出两个矩阵的乘积1、首先打开编程软件,新建一个项目,添加一个double.cpp文件,如图所示 。
2、包含stdio.h头文件 , 如图所示 。
3、接着输入main函数 , 如图所示 。
4、然后定义两个double类型变量并初始化,如图所示 。
5、使用scanf函数接受任意两个小数,计算两个小数的乘积并打印出来,如图所示 。
6、然后运行程序 , 查看结果,如图所示 。
用c语言实现两个矩阵相乘怎么做?1、程序运行输入数据时c语言两矩阵相乘的函数 , 第一行为A矩阵c语言两矩阵相乘的函数的行列数和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语言两矩阵相乘的函数 c语言两矩阵相加】关于c语言两矩阵相乘的函数和c语言两矩阵相加的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读