C语言编程求矩阵乘积
编写一个C程序,程序能将两个矩阵A、B相乘,并输出乘积矩阵C,其中C的数字以浮点数格式“%12.4le”输出。矩阵A、B形如A=(aij),aij=1/(i+j-1),B...
编写一个C程序,程序能将两个矩阵A、B相乘,并输出乘积矩阵C,其中C的数字以浮点数格式“%12.4le”输出。矩阵A、B形如A=(aij), aij=1/(i+j-1),B=(bjk), bjk=j。
要求程序中包括子函数:int multi (double A[][LANGA], double B[][LANGB], double A[][LANGC], int langa, int langb, int langc)。其中LANGA, LANGB, LANGC为列数,langa, langb, langc为矩阵A、B、C的行数。LANGA, LANGB, LANGC请在程序开头用#define给出。程序运行成功返回0,否则返回-1。
*第三个多元组是double C[][LANGC] 展开
要求程序中包括子函数:int multi (double A[][LANGA], double B[][LANGB], double A[][LANGC], int langa, int langb, int langc)。其中LANGA, LANGB, LANGC为列数,langa, langb, langc为矩阵A、B、C的行数。LANGA, LANGB, LANGC请在程序开头用#define给出。程序运行成功返回0,否则返回-1。
*第三个多元组是double C[][LANGC] 展开
展开全部
#define MAX 50
#define M MAX
#define N MAX
#define T MAX
#define S MAX
int Mult(double a[][N],int m,int n,double b[][T]int s,int t,double c[][T]) {
int i,j,k;
if(n != s) {
printf("两矩阵相乘,左矩阵的列数与右矩阵的行数必须相等。\n");
return 0;
}
int c;
tmp.m_Mat = new double *[tmp.m_Rows];
for(int i = 0;i < tmp.m_Rows;i++) tmp.m_Mat[i] = new double[tmp.m_Cols];
for(i = 0; i < m; ++i) {
for(j = 0; j < n; ++j) {
c[i][j] = 0;
for(k = 0; k < t; ++k)
c[i][j] += c[i][k] * c[k][j];
}
}
return 1;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询