fork download
  1. #include <stdio.h>
  2.  
  3.  
  4. #define SIZE 2
  5.  
  6.  
  7. void array_mul( int (*x)[SIZE], int (*y)[SIZE], int (*ans)[SIZE] ) {
  8. int i, j, k;
  9. int sum;
  10.  
  11. for (i = 0; i < SIZE; i++) {
  12. for (j = 0; j < SIZE; j++) {
  13. sum = 0;
  14. for (k = 0; k < SIZE; k++) {
  15. sum += x[i][k] * y[k][j];
  16. }
  17. ans[i][j] = sum;
  18. }
  19. }
  20. }
  21.  
  22.  
  23. void print_matrix( const char *name, int (*matrix)[SIZE] ) {
  24. int i, j;
  25. for (i = 0; i < SIZE; i++) {
  26. for (j = 0; j < SIZE; j++) {
  27. printf("%4d", matrix[i][j]);
  28. }
  29. printf("\n");
  30. }
  31. }
  32.  
  33. int main(void) {
  34.  
  35. int x[SIZE][SIZE] = {
  36. {1, 2},
  37. {3, 4}
  38. };
  39.  
  40. int y[SIZE][SIZE] = {
  41. {1, 2},
  42. {3, 4}
  43. };
  44.  
  45.  
  46. int ans[SIZE][SIZE];
  47.  
  48. array_mul(x, y, ans);
  49.  
  50. print_matrix("行列 ans", ans);
  51.  
  52. return 0;
  53. }
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
   7  10
  15  22