Loading [MathJax]/extensions/tex2jax.js

搜尋此網誌

[C/C++][矩陣內積]

  1. /*
  2. * File Name: Innerproduct.c
  3. * Author: MH
  4. * Since 2011/03/21
  5. * Toolkit: Dev C++
  6. */
  7.  
  8. # include <stdlib.h>
  9. # include <stdio.h>
  10.  
  11. int main(){
  12.  
  13.     int i, j, k;
  14.     int array1[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};    //array[row][column]
  15.     int array2[3][3] = {{2, 3, 4}, {5, 6, 7}, {8, 9, 1}};
  16.     int array3[3][3] = {0};
  17.  
  18.     printf("A = \n");
  19.  
  20.     for(i=0; i<3; i++){
  21.  
  22.         for(j=0; j<3; j++){
  23.             printf("%-3d", array1[i][j]);
  24.         }
  25.  
  26.         printf("\n");
  27.  
  28.     }
  29.  
  30.     printf("\nB = \n");
  31.  
  32.     for(i=0; i<3; i++){
  33.  
  34.         for(j=0; j<3; j++){
  35.             printf("%-3d", array2[i][j]);
  36.         }
  37.  
  38.         printf("\n");
  39.  
  40.     }
  41.  
  42.     printf("\n\nA・B =\n");
  43.  
  44.     for(i=0; i<3; i++){
  45.  
  46.         for(j=1; j<3; j++){
  47.  
  48.             for(k=1; k<=3; k++){
  49.                 array3[i][j] = array3[i][j] + array1[i][k] * array2[k][j];
  50.                 // array1: from left to right, from top to bottom
  51.                 // array2: from top to bottom, from left to right
  52.             }
  53.  
  54.             printf("%-5d", array3[i][j]);
  55.  
  56.         }
  57.  
  58.         printf("\n\n");
  59.  
  60.     }
  61.  
  62.     printf("\n");
  63.  
  64.     system("Pause");
  65.     return 0;
  66. }

沒有留言:

張貼留言