Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 矩阵乘法程序_C - Fatal编程技术网

C 矩阵乘法程序

C 矩阵乘法程序,c,C,我试图建立一个程序,它将一个矩阵自身相乘,并将答案放入另一个矩阵中。我从二维数组构建了矩阵: for (int a = 0; a < k; a++) { for (int i = 0; i < Matsize; i++) { for (int j = 0; j < Matsize; j++) { ScalarSum += (Matrix[i][j]*Matrix[j][i]); New_Matrix[i][

我试图建立一个程序,它将一个矩阵自身相乘,并将答案放入另一个矩阵中。我从二维数组构建了矩阵:

for (int a = 0; a < k; a++) {
    for (int i = 0; i < Matsize; i++) {
        for (int j = 0; j < Matsize; j++) {
            ScalarSum += (Matrix[i][j]*Matrix[j][i]);
            New_Matrix[i][j] = ScalarSum;
        }
    }
}

for(int i = 0; i < Matsize; i++) {
    for(int j = 0; j < Matsize ; j++) {
        printf("%d ", New_Matrix[i][j]);
    }
    printf("\n");
}
for(int a=0;a
第一行中的k是用户扫描的整数,表示矩阵自身相乘的次数。矩阵是原始矩阵,新的_矩阵是接受乘法的矩阵。 Matsize是矩阵的大小。(如果Matsize为3,则矩阵为3x3)
问题是每次打印新矩阵时,我都会得到错误的数字。

有时要初始化
ScalarSum
;现在,它将永远积累产品

除此之外,
NewMatrix[i][j]
的计算还需要另一个循环

关于重复的平方运算:您从不将结果从
NewMatrix
复制回
Matrix


我猜你大部分时间都不懂。因此,我建议您编写合适的函数,例如,
Multiply(A,B,C)
,将
A
B
的乘积计算到
C
(其中
A
可能与
B
相同)。

哪里是
matize
New\u Matrix
,和
ScalarSum
声明并初始化?
a
上的外循环的用途是什么?
初始化ScalarSum=0其目的是按照用户定义的次数运行,外部循环“for(int a=0;a