Matrix 如何在c语言中乘法不同大小的矩阵
我正在寻找一种将2x1和2x2矩阵相乘的方法,但我的代码几乎每次都不起作用,即使它起作用,我也必须将数字输入到代码中。如果我试着在运行代码时询问数字,这是行不通的 以下是我目前的代码:Matrix 如何在c语言中乘法不同大小的矩阵,matrix,matrix-multiplication,multiplication,Matrix,Matrix Multiplication,Multiplication,我正在寻找一种将2x1和2x2矩阵相乘的方法,但我的代码几乎每次都不起作用,即使它起作用,我也必须将数字输入到代码中。如果我试着在运行代码时询问数字,这是行不通的 以下是我目前的代码: #include <stdio.h> #include <stdlib.h> int main(void) { unsigned int a[1][2],b[2][2],c[2][1], i=0, j=0, k=0; printf("-=Program to Mult
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
unsigned int a[1][2],b[2][2],c[2][1], i=0, j=0, k=0;
printf("-=Program to Multiply two Matrices=-");
//--------------------------------------------------------------------
printf("\nEnter the values of Matrix A: \n");
for(i=0;i<1;i++)
{
for(j=0;j<2;j++)
{
// printf("\n");
scanf("%d",&a[i][j]);
}
}
printf("\nMatrix A: ");
for(i=0;i<1;i++)
{
printf("\n");
for(j=0;j<2;j++)
{
printf(" ");
printf("%d",a[i][j]);
}
}
//----------------------------------------------------
printf("\nEnter the values of Matrix B: \n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
// printf("\n");
scanf("%d",&b[i][j]);
}
}
printf("\nMatrix B: ");
for(i=0;i<2;i++)
{
printf("\n");
for(j=0;j<2;j++)
{
printf(" ");
printf("%d",b[i][j]);
}
}
//--------------------------------------------------------
printf("\n\nMultiplication of matrices A and B is : \n\n");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
c[i][j]=0;
for(k=0;k<1;k++)
{
c[i][j]=c[i][j]+(a[i][k]*b[k][j]);
}
}
}
printf("\nMatrix C (Resultant Matrix): ");
for(i=0;i<2;i++)
{
printf("\n");
for(j=0;j<1;j++)
{
printf(" ");
printf("%d",c[i][j]);
}
}
printf("\n");
return 0;
}
#包括
#包括
内部主(空)
{
无符号整数a[1][2],b[2][2],c[2][1],i=0,j=0,k=0;
printf(“-=两个矩阵相乘的程序=-”;
//--------------------------------------------------------------------
printf(“\n输入矩阵A的值:\n”);
对于(i=0;i矩阵乘法的基本概念是第一个矩阵列必须等于第二个矩阵的行
示例:
//有效,因为A列等于B行,即2
矩阵A=1 X2
矩阵B=2x2
//无效(您的案例)
矩阵A=2 X1
矩阵B=2x2
就矩阵乘法而言,只有当第一个矩阵的列数与第二个矩阵的行数相匹配时,才有可能进行乘法运算,所以这样做没有用,而且整个概念都是错误的为什么不发布您的代码呢?等效值是否也成立?即第一个矩阵行=第二个矩阵列N