fork download
  1. #include <stdio.h>
  2.  
  3. void array_mul(int (*x)[2], int (*y)[2], int (*ans)[2])
  4. {
  5. int i, j, k;
  6.  
  7. /* 行列積 ans = x * y を計算 */
  8. for (i = 0; i < 2; i++) {
  9. for (j = 0; j < 2; j++) {
  10. ans[i][j] = 0;
  11. for (k = 0; k < 2; k++) {
  12. ans[i][j] += x[i][k] * y[k][j];
  13. }
  14. }
  15. }
  16. }
  17.  
  18. int main(void)
  19. {
  20. int x[2][2] = {
  21. {1, 2},
  22. {3, 4}
  23. };
  24.  
  25. int y[2][2] = {
  26. {1, 2},
  27. {3, 4}
  28. };
  29.  
  30. int ans[2][2];
  31.  
  32. array_mul(x, y, ans);
  33.  
  34. /* 結果表示 */
  35. for (int i = 0; i < 2; i++) {
  36. for (int j = 0; j < 2; j++) {
  37. printf("ans[%d][%d] = %d\n", i, j, ans[i][j]);
  38. }
  39. }
  40.  
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 0.01s 5312KB
stdin
Standard input is empty
stdout
ans[0][0] = 7
ans[0][1] = 10
ans[1][0] = 15
ans[1][1] = 22