#include <stdio.h>
#include <stdlib.h>
#define row 5
#define column 5
/*
void multiple(int A[row][column], int B[row][column], int C[row][column],int m,int n) ;
// C = AXB https://zh.wikipedia.org/wiki/%E7%9F%A9%E9%99%A3%E4%B9%98%E6%B3%95
*/
int GiveValue(int A[row][column], int m, int n)
{
for(int i=0;i<m;i++)
for(int j=0;j<n;j++) A[i][j]=rand()%3;
return 1;
}
int PrintValue(int A[row][column], int m, int n)
{
for(int i=0;i<m;i++) {
for(int j=0;j<n;j++) {
printf("%3d ",A[i][j]);
}
printf("\n",i,A[i]);
}
return 1;
}
int RowCol(int ci,int cj,int A[row][column],int B[row][column], int m, int n) // C[ci][cj]
{
int total=0;
for(int k=0;k<n;k++) {
total= total + A[ci][k]*B[k][cj] ;
}
return total;
}
void multiple(int A[row][column], int B[row][column], int C[row][column],int m,int n)
{
for(int i=0;i<m;i++) {
for(int j=0;j<n;j++) {
C[i][j]=RowCol(i,j,A,B, m, n);
}
}
}
int main(){
int A[row][column],B[row][column],C[row][column];
GiveValue(A,row,column); PrintValue(A,row,column); printf("\n\n");
GiveValue(B,row,column); PrintValue(B,row,column); printf("\n\n");
multiple(A, B, C, row,column) ;
PrintValue(C,row,column);
system("pause");
return 1;
}