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. for (i = 0; i < 2; i++) {
  19. for (j = 0; j < 2; j++) {
  20. printf("%d ", ans[i][j]);
  21. }
  22. printf("\n");
  23. }
  24. }
  25.  
  26. int main(void) {
  27. int a[2][2] = {
  28. {1, 2},
  29. {3, 4}
  30. };
  31. int b[2][2] = {
  32. {1, 2},
  33. {3, 4}
  34. };
  35. int ans[2][2];
  36.  
  37. array_mul(a, b, ans);
  38. return 0;
  39. }
  40.  
  41.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
7 10 
15 22