入力した行列の差(引き算)を計算する
当ページのリンクには広告が含まれています。
スポンサーリンク
行列の差(引き算)を計算するサンプルプログラムを紹介します。
ここでは入力した 2x3 の行列の差を計算します。
行列の差
入力した行列「A」
$$ A = \left( \begin{array}{ccc} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23} \end{array} \right) $$と行列「B」
$$ B = \left( \begin{array}{ccc} b_{11} & b_{12} & b_{13}\\ b_{21} & b_{22} & b_{23} \end{array} \right) $$の差(引き算)
$$ C = A + B = \left( \begin{array}{ccc} a_{11}-b_{11} & a_{12}-b_{12} & a_{13}-b_{13}\\ a_{21}-b_{21} & a_{22}-b_{22} & a_{23}-b_{23} \end{array} \right) $$を計算します。
サンプルプログラム
それではサンプルプログラムをみてみましょう。
/* * C言語のサンプルプログラム - Webkaru * - 入力した行列の差(引き算)を計算 - */ #include <stdio.h> int main(void){ int i, j; /* 行列 */ int a[2][3], b[2][3], c[2][3]; printf("\n1つ目の行列 A を入力\n"); for(i=0;i<2;++i){ for(j=0;j<3;++j){ printf("A[%d][%d] = ", i+1, j+1); scanf("%d", &a[i][j]); } } printf("\n2つ目の行列 B を入力\n"); for(i=0;i<2;++i){ for(j=0;j<3;++j){ printf("B[%d][%d] = ", i+1, j+1); scanf("%d", &b[i][j]); } } /* 行列の差(引き算) */ for(i=0;i<2;++i){ for(j=0;j<3;++j){ c[i][j] = a[i][j] - b[i][j]; } } printf("\n行列 C = A - B\n"); for(i=0;i<2;++i){ for(j=0;j<3;++j){ printf("C[%d][%d] = %d\n", i+1, j+1, c[i][j]); } } return 0; }
サンプルプログラムで使っている構文
実行結果
いくつかの実行結果です。
1つ目の行列 A を入力 A[1][1] = 1 A[1][2] = 1 A[1][3] = 1 A[2][1] = 1 A[2][2] = 1 A[2][3] = 1 2つ目の行列 B を入力 B[1][1] = 1 B[1][2] = 1 B[1][3] = 1 B[2][1] = 1 B[2][2] = 1 B[2][3] = 1 行列 C = A - B C[1][1] = 0 C[1][2] = 0 C[1][3] = 0 C[2][1] = 0 C[2][2] = 0 C[2][3] = 0
1つ目の行列 A を入力 A[1][1] = 3 A[1][2] = 5 A[1][3] = 2 A[2][1] = 12 A[2][2] = 6 A[2][3] = 21 2つ目の行列 B を入力 B[1][1] = 4 B[1][2] = 7 B[1][3] = 2 B[2][1] = 8 B[2][2] = 12 B[2][3] = 9 行列 C = A - B C[1][1] = -1 C[1][2] = -2 C[1][3] = 0 C[2][1] = 4 C[2][2] = -6 C[2][3] = 12
このように行列の差を計算します。