矩阵相乘

来源:互联网 发布:淘宝佛珠刀具价格大全 编辑:程序博客网 时间:2024/06/09 22:00

给两个二维数组表示矩阵,a[n][m],b[x][y]
只有m=x,两个矩阵才能相乘,也就是a[n][m],b[m][p]
a数组的第i行和b数组第j列依次相乘的积相加为c数组的c[i][j]
这里写图片描述
代码

#include<stdio.h>int a[2][2];int b[2][3];int c[2][3];int main(){    for(int i=1; i<=2; i++)        for(int j=1; j<=2; j++)            scanf("%d",&a[i][j]);    for(int i=1; i<=2; i++)        for(int j=1; j<=3; j++)            scanf("%d",&b[i][j]);    for(int i=1; i<=2; i++)        for(int j=1; j<=3; j++)            for(int k=1; k<=2; k++)                c[i][j]+=(a[i][k]*b[k][j]);    for(int i=1; i<=2; i++)    {        for(int j=1; j<=3; j++)            printf("%d ",c[i][j]);        printf("\n");    }    return 0;}/*1 12 00 2 31 1 2*/

1.不满足交换律(如果m!=x,就不能乘了)
2.满足结合律(例如:(AB)C和A(BC))