今日の人気記事

  1. サンプルプログラム集
  2. LinuxでC言語 - コンパイラ(gcc)のインストール
  3. MinGW - gccのコンパイルと実行 - Windows環境
  4. printf関数の変換指定子
  5. MinGW - gcc のインストール - Windows環境

入力した行列の和(足し算)を計算

スポンサーリンク

行列の和(足し算)を計算するサンプルプログラムを紹介します。

ここでは入力した 2x2 の行列の和を計算します。

行列の和

入力した行列「A」

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

と行列「B」

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

の和(足し算)

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

を計算します。

スポンサーリンク

サンプルプログラム

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

/*
 * C言語のサンプルプログラム - Webkaru
 * - 入力した行列の和(足し算)を計算 -
 */
#include <stdio.h>

int main(void){

  int i, j;

  /* 行列 */
  int a[2][2], b[2][2], c[2][2];

  printf("\n1つ目の行列 A を入力\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]);
    }
  }

  printf("\n2つ目の行列 B を入力\n");
  for(i=0;i<2;++i){
    for(j=0;j<2;++j){
      printf("B[%d][%d] = ", i+1, j+1);
      scanf("%d", &b[i][j]);
    }
  }

  /* 行列の和(足し算) */
  for(i=0;i<2;++i){
    for(j=0;j<2;++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<2;++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[2][1] = 1
A[2][2] = 1

2つ目の行列 B を入力
B[1][1] = 1
B[1][2] = 1
B[2][1] = 1
B[2][2] = 1

行列 C = A + B
C[1][1] = 2
C[1][2] = 2
C[2][1] = 2
C[2][2] = 2
1つ目の行列 A を入力
A[1][1] = 1   
A[1][2] = 2
A[2][1] = 3
A[2][2] = 4

2つ目の行列 B を入力
B[1][1] = 5
B[1][2] = 6
B[2][1] = 7
B[2][2] = 8

行列 C = A + B
C[1][1] = 6
C[1][2] = 8
C[2][1] = 10
C[2][2] = 12

このように行列の和を計算します。

スポンサーリンク