C,
pasted
on May 20:
|
#define N 3
int main(int argc, char ** argv)
{
int i,j,k;
char buff[100];
double dbl1[N][N];
double dbl2[N][N];
printf("input %dx%d matrix A\n", N, N);
for(i = 0 ; i < N ; i++)
{
for(j = 0 ; j < N ; j++)
{
fgets(buff, sizeof(buff), stdin);
dbl1[i][j] = atol(buff);
}
}
printf("input %dx%d matrix B\n", N, N);
for(i = 0 ; i < N ; i++)
{
for(j = 0 ; j < N ; j++)
{
fgets(buff, sizeof(buff), stdin);
dbl2[i][j] = atol(buff);
}
}
printf("matrix A = \n");
for(i = 0 ; i < N ; i++)
{
for(j = 0 ; j < N ; j++)
{
printf("%lf,", dbl1[i][j]);
}
printf("\n");
}
printf("\n");
printf("matrix B = \n");
for(i = 0 ; i < N ; i++)
{
for(j = 0 ; j < N ; j++)
{
printf("%lf,", dbl2[i][j]);
}
printf("\n");
}
printf("\n");
printf("matrix A*B = \n");
for(i = 0 ; i < N ; i++)
{
for(j = 0 ; j < N ; j++)
{
double total = 0.0;
for(k = 0 ; k < N ; k++)
{
total += dbl1[i][k] * dbl2[k][j];
}
printf("%lf,", total);
}
printf("\n");
}
return 0;
}
|
Output:
|
input 3x3 matrix A
input 3x3 matrix B
matrix A =
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
matrix B =
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
matrix A*B =
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
|
|