作业帮 > 综合 > 作业

C语言编程,生成行列 A (rA x cA)和 B (rB x cB),并计算两个行列的乘积.

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/28 18:09:37
C语言编程,生成行列 A (rA x cA)和 B (rB x cB),并计算两个行列的乘积.
1.行列的个数 rA,cA,rB,cB用 scanf() 输入
2.cA = rB ,不相等的时候程序终止.
3.行列使用二维指针生成,使用calloc() 或 malloc () 函数
4.行列 A,B中各个数使用Rand() 函数生成1~100之间的整数,使用srand(time(NULL))
下面是基本框架
#include
#include

void main(void) {
int i,n;
int **A,**B,**C;
int rA,rB,cA,cB;

A = (int **) calloc(rA,sizeof(int));
for (i=0; i
C语言编程,生成行列 A (rA x cA)和 B (rB x cB),并计算两个行列的乘积.
#include
#include
#inlcude
#inlcude
#include
using namespace std;
void MultiplyMatrix(int **iA,int **iB ,int rowA,int colA,int colB,int **out);
int main(void)
{
srand((unsigned)(time(NULL)));
int i,j,n;
int **A,**B,**C;
int rA,rB,cA,cB;
while( scanf("%d%d%d%d",&rA,&cA,&rB,&cB) && cA==rB && rA>0 && cA > 0 && rB > 0 && cB > 0 )
{
A = (int **) calloc(rA,sizeof(int));
for (i=0; i
再问: 运行了一下有错误啊,再帮忙看一下吧
再答: /* 可以了,输入两个矩形行列数,随机产生矩阵元素,最后求行列乘积。 */ #include #include #include void MultiplyMatrix(int ** iA, int ** iB , int rowA, int colA, int colB, int ** out ) { int i,j,k; for( i = 0 ; i < rowA ; i++) { for( j = 0 ; j < colB ; j ++ ) { out[i][j] = 0; for( k = 0 ; k < colA ; k ++ ) { out[i][j] += ((iA[i][k])*(iB[k][j])); } } } } void Pnt( int ** M , int r, int c ) { int i,j; for( i = 0 ; i < r ; i++) { for( j = 0 ; j < c ; j ++ ) { printf("%10d",M[i][j]); } printf("\n"); } printf("\n"); } int main(void) { int i,j,n; int **A, **B, **C; int rA, rB, cA, cB ,rC , cC; srand((unsigned)(time(NULL))); while( scanf("%d%d%d%d",&rA,&cA,&rB,&cB) && cA==rB && rA>0 && cA > 0 && rB > 0 && cB > 0 ) { rC = rA; cC = cB; A = (int **) calloc(rA, sizeof(int)); for (i=0; i