fork download
  1. #include<stdio.h>
  2.  
  3. void prod(float mat1[][3], float mat2[][6], float dest[][6], int m1, int n1, int n2) {
  4. printf("orders: %d, %d, %d\n", m1, n1, n2);
  5. int i, j, k; // kmax = n1, jmax = n2, imax = m1
  6. for (i = 0; i < m1; i++) {
  7. for (j = 0; j < n2; j++) {
  8. dest[i][j] = 0;
  9. for (k = 0; k < n1; k++) {
  10. dest[i][j] += mat1[i][k]*mat2[k][j];
  11. printf("iterals: %d, %d, %d\t", i, j, k);
  12. printf("mat1[%d][%d] = %f\t", i, k, mat1[i][k]);
  13. printf("mat2[%d][%d] = %f\t", k, j, mat2[k][j]);
  14. printf("dest[%d][%d] = %f\n", i, j, dest[i][j]);
  15. }
  16. }
  17. }
  18. }
  19.  
  20.  
  21. int main() {
  22. float res[6][6] = { 0 };
  23.  
  24. float G[6][3] = { {10, 0, 0},
  25. { 0, 0, 0},
  26. { 0, 20, 0},
  27. { 0, 0, 0},
  28. { 0, 0, 30},
  29. { 0, 0, 0} };
  30.  
  31. float H[3][6] = { {1, 0, 0, 0, 0, 0},
  32. {0, 0, 1, 0, 0, 0},
  33. {0, 0, 0, 0, 1, 0} };
  34.  
  35. prod(G, H, res, 6, 3, 6);
  36. }
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
orders: 6, 3, 6
iterals: 0, 0, 0	mat1[0][0] = 10.000000	mat2[0][0] = 1.000000	dest[0][0] = 10.000000
iterals: 0, 0, 1	mat1[0][1] = 0.000000	mat2[1][0] = 0.000000	dest[0][0] = 10.000000
iterals: 0, 0, 2	mat1[0][2] = 0.000000	mat2[2][0] = 0.000000	dest[0][0] = 10.000000
iterals: 0, 1, 0	mat1[0][0] = 10.000000	mat2[0][1] = 0.000000	dest[0][1] = 0.000000
iterals: 0, 1, 1	mat1[0][1] = 0.000000	mat2[1][1] = 0.000000	dest[0][1] = 0.000000
iterals: 0, 1, 2	mat1[0][2] = 0.000000	mat2[2][1] = 0.000000	dest[0][1] = 0.000000
iterals: 0, 2, 0	mat1[0][0] = 10.000000	mat2[0][2] = 0.000000	dest[0][2] = 0.000000
iterals: 0, 2, 1	mat1[0][1] = 0.000000	mat2[1][2] = 1.000000	dest[0][2] = 0.000000
iterals: 0, 2, 2	mat1[0][2] = 0.000000	mat2[2][2] = 0.000000	dest[0][2] = 0.000000
iterals: 0, 3, 0	mat1[0][0] = 10.000000	mat2[0][3] = 0.000000	dest[0][3] = 0.000000
iterals: 0, 3, 1	mat1[0][1] = 0.000000	mat2[1][3] = 0.000000	dest[0][3] = 0.000000
iterals: 0, 3, 2	mat1[0][2] = 0.000000	mat2[2][3] = 0.000000	dest[0][3] = 0.000000
iterals: 0, 4, 0	mat1[0][0] = 10.000000	mat2[0][4] = 0.000000	dest[0][4] = 0.000000
iterals: 0, 4, 1	mat1[0][1] = 0.000000	mat2[1][4] = 0.000000	dest[0][4] = 0.000000
iterals: 0, 4, 2	mat1[0][2] = 0.000000	mat2[2][4] = 1.000000	dest[0][4] = 0.000000
iterals: 0, 5, 0	mat1[0][0] = 10.000000	mat2[0][5] = 0.000000	dest[0][5] = 0.000000
iterals: 0, 5, 1	mat1[0][1] = 0.000000	mat2[1][5] = 0.000000	dest[0][5] = 0.000000
iterals: 0, 5, 2	mat1[0][2] = 0.000000	mat2[2][5] = 0.000000	dest[0][5] = 0.000000
iterals: 1, 0, 0	mat1[1][0] = 0.000000	mat2[0][0] = 1.000000	dest[1][0] = 0.000000
iterals: 1, 0, 1	mat1[1][1] = 0.000000	mat2[1][0] = 0.000000	dest[1][0] = 0.000000
iterals: 1, 0, 2	mat1[1][2] = 0.000000	mat2[2][0] = 0.000000	dest[1][0] = 0.000000
iterals: 1, 1, 0	mat1[1][0] = 0.000000	mat2[0][1] = 0.000000	dest[1][1] = 0.000000
iterals: 1, 1, 1	mat1[1][1] = 0.000000	mat2[1][1] = 0.000000	dest[1][1] = 0.000000
iterals: 1, 1, 2	mat1[1][2] = 0.000000	mat2[2][1] = 0.000000	dest[1][1] = 0.000000
iterals: 1, 2, 0	mat1[1][0] = 0.000000	mat2[0][2] = 0.000000	dest[1][2] = 0.000000
iterals: 1, 2, 1	mat1[1][1] = 0.000000	mat2[1][2] = 1.000000	dest[1][2] = 0.000000
iterals: 1, 2, 2	mat1[1][2] = 0.000000	mat2[2][2] = 0.000000	dest[1][2] = 0.000000
iterals: 1, 3, 0	mat1[1][0] = 0.000000	mat2[0][3] = 0.000000	dest[1][3] = 0.000000
iterals: 1, 3, 1	mat1[1][1] = 0.000000	mat2[1][3] = 0.000000	dest[1][3] = 0.000000
iterals: 1, 3, 2	mat1[1][2] = 0.000000	mat2[2][3] = 0.000000	dest[1][3] = 0.000000
iterals: 1, 4, 0	mat1[1][0] = 0.000000	mat2[0][4] = 0.000000	dest[1][4] = 0.000000
iterals: 1, 4, 1	mat1[1][1] = 0.000000	mat2[1][4] = 0.000000	dest[1][4] = 0.000000
iterals: 1, 4, 2	mat1[1][2] = 0.000000	mat2[2][4] = 1.000000	dest[1][4] = 0.000000
iterals: 1, 5, 0	mat1[1][0] = 0.000000	mat2[0][5] = 0.000000	dest[1][5] = 0.000000
iterals: 1, 5, 1	mat1[1][1] = 0.000000	mat2[1][5] = 0.000000	dest[1][5] = 0.000000
iterals: 1, 5, 2	mat1[1][2] = 0.000000	mat2[2][5] = 0.000000	dest[1][5] = 0.000000
iterals: 2, 0, 0	mat1[2][0] = 0.000000	mat2[0][0] = 1.000000	dest[2][0] = 0.000000
iterals: 2, 0, 1	mat1[2][1] = 20.000000	mat2[1][0] = 0.000000	dest[2][0] = 0.000000
iterals: 2, 0, 2	mat1[2][2] = 0.000000	mat2[2][0] = 0.000000	dest[2][0] = 0.000000
iterals: 2, 1, 0	mat1[2][0] = 0.000000	mat2[0][1] = 0.000000	dest[2][1] = 0.000000
iterals: 2, 1, 1	mat1[2][1] = 20.000000	mat2[1][1] = 0.000000	dest[2][1] = 0.000000
iterals: 2, 1, 2	mat1[2][2] = 0.000000	mat2[2][1] = 0.000000	dest[2][1] = 0.000000
iterals: 2, 2, 0	mat1[2][0] = 0.000000	mat2[0][2] = 0.000000	dest[2][2] = 0.000000
iterals: 2, 2, 1	mat1[2][1] = 20.000000	mat2[1][2] = 1.000000	dest[2][2] = 20.000000
iterals: 2, 2, 2	mat1[2][2] = 0.000000	mat2[2][2] = 0.000000	dest[2][2] = 20.000000
iterals: 2, 3, 0	mat1[2][0] = 0.000000	mat2[0][3] = 0.000000	dest[2][3] = 0.000000
iterals: 2, 3, 1	mat1[2][1] = 20.000000	mat2[1][3] = 0.000000	dest[2][3] = 0.000000
iterals: 2, 3, 2	mat1[2][2] = 0.000000	mat2[2][3] = 0.000000	dest[2][3] = 0.000000
iterals: 2, 4, 0	mat1[2][0] = 0.000000	mat2[0][4] = 0.000000	dest[2][4] = 0.000000
iterals: 2, 4, 1	mat1[2][1] = 20.000000	mat2[1][4] = 0.000000	dest[2][4] = 0.000000
iterals: 2, 4, 2	mat1[2][2] = 0.000000	mat2[2][4] = 1.000000	dest[2][4] = 0.000000
iterals: 2, 5, 0	mat1[2][0] = 0.000000	mat2[0][5] = 0.000000	dest[2][5] = 0.000000
iterals: 2, 5, 1	mat1[2][1] = 20.000000	mat2[1][5] = 0.000000	dest[2][5] = 0.000000
iterals: 2, 5, 2	mat1[2][2] = 0.000000	mat2[2][5] = 0.000000	dest[2][5] = 0.000000
iterals: 3, 0, 0	mat1[3][0] = 0.000000	mat2[0][0] = 1.000000	dest[3][0] = 0.000000
iterals: 3, 0, 1	mat1[3][1] = 0.000000	mat2[1][0] = 0.000000	dest[3][0] = 0.000000
iterals: 3, 0, 2	mat1[3][2] = 0.000000	mat2[2][0] = 0.000000	dest[3][0] = 0.000000
iterals: 3, 1, 0	mat1[3][0] = 0.000000	mat2[0][1] = 0.000000	dest[3][1] = 0.000000
iterals: 3, 1, 1	mat1[3][1] = 0.000000	mat2[1][1] = 0.000000	dest[3][1] = 0.000000
iterals: 3, 1, 2	mat1[3][2] = 0.000000	mat2[2][1] = 0.000000	dest[3][1] = 0.000000
iterals: 3, 2, 0	mat1[3][0] = 0.000000	mat2[0][2] = 0.000000	dest[3][2] = 0.000000
iterals: 3, 2, 1	mat1[3][1] = 0.000000	mat2[1][2] = 1.000000	dest[3][2] = 0.000000
iterals: 3, 2, 2	mat1[3][2] = 0.000000	mat2[2][2] = 0.000000	dest[3][2] = 0.000000
iterals: 3, 3, 0	mat1[3][0] = 0.000000	mat2[0][3] = 0.000000	dest[3][3] = 0.000000
iterals: 3, 3, 1	mat1[3][1] = 0.000000	mat2[1][3] = 0.000000	dest[3][3] = 0.000000
iterals: 3, 3, 2	mat1[3][2] = 0.000000	mat2[2][3] = 0.000000	dest[3][3] = 0.000000
iterals: 3, 4, 0	mat1[3][0] = 0.000000	mat2[0][4] = 0.000000	dest[3][4] = 0.000000
iterals: 3, 4, 1	mat1[3][1] = 0.000000	mat2[1][4] = 0.000000	dest[3][4] = 0.000000
iterals: 3, 4, 2	mat1[3][2] = 0.000000	mat2[2][4] = 1.000000	dest[3][4] = 0.000000
iterals: 3, 5, 0	mat1[3][0] = 0.000000	mat2[0][5] = 0.000000	dest[3][5] = 0.000000
iterals: 3, 5, 1	mat1[3][1] = 0.000000	mat2[1][5] = 0.000000	dest[3][5] = 0.000000
iterals: 3, 5, 2	mat1[3][2] = 0.000000	mat2[2][5] = 0.000000	dest[3][5] = 0.000000
iterals: 4, 0, 0	mat1[4][0] = 0.000000	mat2[0][0] = 1.000000	dest[4][0] = 0.000000
iterals: 4, 0, 1	mat1[4][1] = 0.000000	mat2[1][0] = 0.000000	dest[4][0] = 0.000000
iterals: 4, 0, 2	mat1[4][2] = 30.000000	mat2[2][0] = 0.000000	dest[4][0] = 0.000000
iterals: 4, 1, 0	mat1[4][0] = 0.000000	mat2[0][1] = 0.000000	dest[4][1] = 0.000000
iterals: 4, 1, 1	mat1[4][1] = 0.000000	mat2[1][1] = 0.000000	dest[4][1] = 0.000000
iterals: 4, 1, 2	mat1[4][2] = 30.000000	mat2[2][1] = 0.000000	dest[4][1] = 0.000000
iterals: 4, 2, 0	mat1[4][0] = 0.000000	mat2[0][2] = 0.000000	dest[4][2] = 0.000000
iterals: 4, 2, 1	mat1[4][1] = 0.000000	mat2[1][2] = 1.000000	dest[4][2] = 0.000000
iterals: 4, 2, 2	mat1[4][2] = 30.000000	mat2[2][2] = 0.000000	dest[4][2] = 0.000000
iterals: 4, 3, 0	mat1[4][0] = 0.000000	mat2[0][3] = 0.000000	dest[4][3] = 0.000000
iterals: 4, 3, 1	mat1[4][1] = 0.000000	mat2[1][3] = 0.000000	dest[4][3] = 0.000000
iterals: 4, 3, 2	mat1[4][2] = 30.000000	mat2[2][3] = 0.000000	dest[4][3] = 0.000000
iterals: 4, 4, 0	mat1[4][0] = 0.000000	mat2[0][4] = 0.000000	dest[4][4] = 0.000000
iterals: 4, 4, 1	mat1[4][1] = 0.000000	mat2[1][4] = 0.000000	dest[4][4] = 0.000000
iterals: 4, 4, 2	mat1[4][2] = 30.000000	mat2[2][4] = 1.000000	dest[4][4] = 30.000000
iterals: 4, 5, 0	mat1[4][0] = 0.000000	mat2[0][5] = 0.000000	dest[4][5] = 0.000000
iterals: 4, 5, 1	mat1[4][1] = 0.000000	mat2[1][5] = 0.000000	dest[4][5] = 0.000000
iterals: 4, 5, 2	mat1[4][2] = 30.000000	mat2[2][5] = 0.000000	dest[4][5] = 0.000000
iterals: 5, 0, 0	mat1[5][0] = 0.000000	mat2[0][0] = 1.000000	dest[5][0] = 0.000000
iterals: 5, 0, 1	mat1[5][1] = 0.000000	mat2[1][0] = 0.000000	dest[5][0] = 0.000000
iterals: 5, 0, 2	mat1[5][2] = 0.000000	mat2[2][0] = 0.000000	dest[5][0] = 0.000000
iterals: 5, 1, 0	mat1[5][0] = 0.000000	mat2[0][1] = 0.000000	dest[5][1] = 0.000000
iterals: 5, 1, 1	mat1[5][1] = 0.000000	mat2[1][1] = 0.000000	dest[5][1] = 0.000000
iterals: 5, 1, 2	mat1[5][2] = 0.000000	mat2[2][1] = 0.000000	dest[5][1] = 0.000000
iterals: 5, 2, 0	mat1[5][0] = 0.000000	mat2[0][2] = 0.000000	dest[5][2] = 0.000000
iterals: 5, 2, 1	mat1[5][1] = 0.000000	mat2[1][2] = 1.000000	dest[5][2] = 0.000000
iterals: 5, 2, 2	mat1[5][2] = 0.000000	mat2[2][2] = 0.000000	dest[5][2] = 0.000000
iterals: 5, 3, 0	mat1[5][0] = 0.000000	mat2[0][3] = 0.000000	dest[5][3] = 0.000000
iterals: 5, 3, 1	mat1[5][1] = 0.000000	mat2[1][3] = 0.000000	dest[5][3] = 0.000000
iterals: 5, 3, 2	mat1[5][2] = 0.000000	mat2[2][3] = 0.000000	dest[5][3] = 0.000000
iterals: 5, 4, 0	mat1[5][0] = 0.000000	mat2[0][4] = 0.000000	dest[5][4] = 0.000000
iterals: 5, 4, 1	mat1[5][1] = 0.000000	mat2[1][4] = 0.000000	dest[5][4] = 0.000000
iterals: 5, 4, 2	mat1[5][2] = 0.000000	mat2[2][4] = 1.000000	dest[5][4] = 0.000000
iterals: 5, 5, 0	mat1[5][0] = 0.000000	mat2[0][5] = 0.000000	dest[5][5] = 0.000000
iterals: 5, 5, 1	mat1[5][1] = 0.000000	mat2[1][5] = 0.000000	dest[5][5] = 0.000000
iterals: 5, 5, 2	mat1[5][2] = 0.000000	mat2[2][5] = 0.000000	dest[5][5] = 0.000000