高手帮写个C语言矩阵乘法~!!
发布网友
发布时间:2022-06-10 19:07
我来回答
共2个回答
热心网友
时间:2024-07-02 02:10
好几位问此问题了。
自己把下面的函数改一下就可以了。
矩阵乘法,只有前矩阵列数等与后矩阵行数的两矩阵才能相乘.结果矩阵大小等于前行后列。
C 语言行列表示: array[N_row][N_col]
N_row -- 行数,N_col -- 列数。
/*---------------------
b[j][k] * c[k][i] = a[j][i]
*---------------------*/
void matrix(int **b,int **c, int **a, int nx, int ny, int nk)
{
int i,j,k;
for (j=0;j<ny;j++)for(i=0;i<nx;i++)a[j][i]= 0;
for(j=0;j<ny;j++){
for(i=0;i<nx;i++){
for(k=0;k<nk;k++)a[j][i]+= b[j][k]*c[k][i];
};
};
}
热心网友
时间:2024-07-02 02:11
#include <stdio.h>
#define n 3//要几行几列自己改
int main()
{
int a[n][n],b[n][n],c[n][n],i,j,m;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&b[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
c[i][j]=0;
for(m=0;m<n;m++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
c[m][i]+=a[m][j]*b[j][i];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",c[i][j]);
printf("\n");
}
}