7−3 二次元配列を用いた行列の積

ここでは、二次の行列を、二次元配列を用いて表現してみる。2つの行列の積をもとめる。

 

M行N列の行列xと、N行L列の行列yとの積を、M行L列の行列zで求める。

[プログラムの作成]

/*-----------------------------------------------

       行列の積

-------------------------------------------------*/

#include<stdio.h>

#define   M   3

#define   N   2

#define   L   3

main()

{

      /*数値の定義*/

    int   x[M][N]={

             {1,2},

             {3,4},

             {5,6}

         };

    int   y[N][L]={

             {1,3,5},

             {2,4,6}

         };

    int   z[M][L];

    int   i,j,k;      */添字*/

/*積を求める*/

for(i=0;i<M;i++){

      for(j=0;j<L;j++){

          z[i][j]=0;

          for(k=0;k<N;k++){

            z[i][j] += x[i][k]*y[k][j];

          }

      }

  }

}

 

[実行結果]

 

 流れ図

 

 練習問題へ

次へ     選択メニューに戻る