tickler blog

 | 

2009-11-14

行列式の計算 18:15

3×3行列の積を求めるプログラム

実行例

f:id:sqr2:20091114181430j:image

#include <stdio.h>

main()
{
    int i, j, matrixA[3][3], matrixB[3][3], sum[3][3];

    //行列Aの入力
    printf("Input of matrixA \n");
    
    for(i=0;i<3;i++)
    {
        printf(" row %d: ",i+1);
        scanf("%d %d %d",&matrixA[i][0], &matrixA[i][1],
        &matrixA[i][2]);
    }

    //行列Bの入力
    printf("Input of matrixB \n");
    
    for(i=0;i<3;i++)
    {
        printf(" row %d: ",i+1);
        scanf("%d %d %d",&matrixB[i][0], &matrixB[i][1],
        &matrixB[i][2]);
    }

    //行列の積の計算
    for(i=0;i < 3;i++)
    {
        for(j=0;j < 3;j++)
            sum[i][j] = matrixA[i][0]*matrixB[0][j] + matrixA[i][1]*matrixB[1][j] + matrixA[i][2]*matrixB[2][j];
    }

    //行列の出力
    printf("Product AB :\n");
    for(i=0;i < 3;i++)
    {
        for(j=0;j < 3;j++)
            printf("%5d",sum[i][j]);
        printf("\n");
    }

}
 |