Matrix multiplication logic

#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
int a[6][6],b[6][6],e[6][6];
int main()
{
    int i,j,k;
    int sum=0;
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(e,0,sizeof(e));
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=5;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=5;j++)
        {
            scanf("%d",&b[i][j]);
        }
    }
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=5;j++)
        {
            sum=0;
            for(k=1;k<=5;k++)
            {
                sum=(sum||(a[i][k]&&b[k][j]));
            }
            e[i][j]=sum;
        }
    }
    for(i=1;i<=5;i++)
    {
        for(j=1;j<5;j++)
        {
            printf("%d ",e[i][j]);
        }
        printf("%d\n",e[i][j]);
    }
    return 0;
}

Guess you like

Origin blog.csdn.net/VocaC/article/details/93207047