我想在C中制作一个两个矩阵相乘的程序。我现在要告诉我是怎么做到的。但是,我的老师告诉我这是错的,并告诉我正确的做法,这对我来说没有意义。 这是我的代码:
WHERE last_played!=$start_time
这就是我老师所说的:
#include <stdio.h>
#define M 2
#define P 3
#define N 2
int main()
{
int a[M][P],b[P][N],c[M][N];
int i,j,k;
/* here is where we fill the matrices */
for (i=0;i<M;i++)
for (j=0;j<N;j++)
{
c[i][j]=0;
for (k=0;k<P;k++)
c[i][j]+=a[k][j]*b[i][k];
}
}
但这对我来说没有意义,因为当你繁殖矩阵时,你所做的过程是这样的:
因此,你在矩阵A中从左到右,在矩阵B中从上到下(例如:ae + bg)。因此,在for循环中写c [i] [j] + = a [k] [j] * b [i] [k]是有意义的,因为每次迭代k都会增加1。
你明白我的意思吗?你觉得我错了吗?提前谢谢。