07/07/22 16:35:10
>>639
#include <stdio.h>
#define N 128
int main(int argc, char *argv[])
{
FILE *fpin, *fpout;
int n, m, l, i, j, k;
double mat1[N][N], mat2[N][N], mat3[N][N];
if(argc < 3 || (fpin = fopen(argv[1], "r")) == NULL || (fpout = fopen(argv[2], "w")) == NULL) return 1;
fscanf(fpin, "%d%d%d", &n, &m, &l);
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
fscanf(fpin, "%lf", &mat1[i][j]);
for(i = 0; i < m; i++)
for(j = 0; j < l; j++)
fscanf(fpin, "%lf", &mat2[i][j]);
for(i = 0; i < n; i++){
for(j = 0; j < l; j++){
mat3[i][j] = 0;
for(k = 0, mat3[i][j] = 0; k < m; k++)
mat3[i][j] += mat1[i][k]*mat2[k][j];
fprintf(fpout, "%f ", mat3[i][j]);
}
fprintf(fpout, "\n");
}
fclose(fpin), fclose(fpout);
return 0;
}