假设A
是table
个浮点数,有k
rows
和m
columns
,
B
是浮点数的table
,m
rows
和n
columns
。我们希望生成一个new table
,C,其中C的每个元素由下式确定:
C[i][j] = A[i][1]*B[1][j]+ A[i][2]*B[2][j]+ ,..., A[i][m]*B[m][j]
where i = 1, 2, …, k and j = 1, 2, …, n
这就是我正在做的事情
#include <stdio.h>
#include <math.h>
int main()
{
float A[10][10], B[10][10], C[10][10];
int k, i, j, l, m, n;
printf("Enter the number of rows and columns of matrix A:\n");
scanf("%d%d",&k,&m);
printf("Enter elements of matrix A:\n");
for (i=0;i<k;i++)
for (j=0;j<m;j++)
scanf("%f",&A[i][j]);
printf("Enter the number of rows and columns of matrix B:\n");
scanf("%d%d",&m,&n);
printf("Enter elements of matrix N:\n");
for (i=0;i<m;i++)
for (j=0;j<n;j++)
scanf("%f",&B[i][j]);
在扫描了两个matrix
之后,接下来我应该做些什么来计算C
,这个让我感到困惑。我不知道我是否能够将A
和B
扫描放入一个嵌套循环中。任何帮助将不胜感激。
答案 0 :(得分:1)
矩阵A的大小为kxm,矩阵B的大小为mxn .Resultant矩阵的大小为kxn。 所以你可以按如下所示启动for循环。
for (i=0;i<k;i++)
for(j=0;i<n;j++)
{
//perform the desired operation in matrix C .
}
请注意:您使用“m”两次。多余。
答案 1 :(得分:-1)
你可以尝试这样的东西,使用矩阵数而不是使用A,B,C。“row”和“col”用于存储矩阵的维度,通知col[0]
应该等于{ {1}}。
row[1]