今日の人気記事

  1. continue文 - ループをスキップ
  2. エスケープシーケンス - 特殊文字
  3. 入力した行列の積(掛け算)を計算する
  4. 四則演算 - 算術演算子
  5. LinuxでC言語 - コンパイラ(gcc)のインストール

2×2行列の行列式を計算する

当ページのリンクには広告が含まれています。

スポンサーリンク

2×2行列の行列式の計算するサンプルプログラムを紹介します。

行列式の計算

入力した2x2行列「A」

$$ A = \left( \begin{array}{cc} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array} \right) $$

から行列式

\begin{aligned} det A &= \left| \begin{array}{cc} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array} \right| \\ &= a_{11} \cdot a_{22} - a_{12} \cdot a_{21} \end{aligned}

を計算します。

例えば、次の行列の行列式は

\begin{aligned} det A &= \left| \begin{array}{cc} 1 & 2 \\ 3 & 4 \end{array} \right| \\ &= 1 \cdot 4 - 2 \cdot 3 \\ &= 4 - 6 \\ &= -2 \end{aligned}

と計算できます。

サンプルプログラム

それではサンプルプログラムをみてみましょう。

/*
 * C言語のサンプルプログラム - Webkaru
 * - 2×2行列の行列式の計算 -
 */
#include <stdio.h>

int main(void){

  int i, j;

  /* 2x2 行列 */
  int a[2][2];

  /* 行列式 */
  int det;

  printf("◆ 2x2の行列を入力\n");
  for(i=0;i<2;++i){
    for(j=0;j<2;++j){
      printf("A[%d][%d] = ", i+1, j+1);
      scanf("%d", &a[i][j]);
    }
  }

  /* 行列式の計算 */
  det = a[0][0] * a[1][1] - a[0][1] * a[1][0];

  /* 計算結果の出力 */
  printf("◆ 行列式の計算結果\n");
  printf("det A = %d\n", det);

  return 0;
}

サンプルプログラムで使っている構文

実行結果

実行結果です。

◆ 2x2の行列を入力
A[1][1] = 1
A[1][2] = 2
A[2][1] = 3
A[2][2] = 4
◆ 行列式の計算結果
det A = -2
◆ 2x2の行列を入力
A[1][1] = 8
A[1][2] = 3
A[2][1] = 4
A[2][2] = 7
◆ 行列式の計算結果
det A = 44

このように行列式を計算・出力します。

サンプルプログラム の人気記事

  1. 10進数を2進数に変換する
  2. 入力した自然数の階乗を計算する
  3. 配列に格納した数値を昇順ソートする
  4. 入力した2つの数値の掛け算・割り算する
  5. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  6. サンプルプログラム集
  7. フィボナッチ数の計算する
  8. 2次方程式の解を計算する
  9. 入力した行列の積(掛け算)を計算する
  10. 入力した文字がアルファベットか数字かを判定する

関連記事(一部広告含む)