今日の人気記事

  1. MinGW - gcc のインストール - Windows環境
  2. サンプルプログラム集
  3. MinGW - gcc の環境設定(パスを通す) - Windows環境
  4. MinGW - gccのコンパイルと実行 - Windows環境
  5. 10進数を2進数に変換

入力した行列の「転置行列」を表示

スポンサーリンク

入力した行列の「転置行列」を表示するサンプルプログラムを紹介します。

転置行列

転置行列とは、mxn行列の要素 \(a_{ij}\) と \(a_{ji}\) を入れ替えたnxm行列のことです。

ちょっと分かりづらいので、転置行列の「例」をみてみましょう。

例①

例えば、行列 \(A\)

$$ A = \left( \begin{array}{ccc} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9 \end{array} \right) $$

の転置行列 \(A^{\mathrm{T}}\) は

$$ A^{\mathrm{T}} = \left( \begin{array}{ccc} 1 & 4 & 7\\ 2 & 5 & 8\\ 3 & 6 & 9 \end{array} \right) $$

になります。

例②

例えば、行列 \(B\)

$$ B = \left( \begin{array}{ccc} 1 & 2 & 3\\ 4 & 5 & 6 \end{array} \right) $$

の転置行列 \(B^{\mathrm{T}}\) は

$$ B^{\mathrm{T}} = \left( \begin{array}{cc} 1 & 4\\ 2 & 5\\ 3 & 6 \end{array} \right) $$

になります。

スポンサーリンク

サンプルプログラム

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

/*
 * C言語のサンプルプログラム - Webkaru
 * - 入力した行列の「転置行列」を表示 -
 */
#include <stdio.h>

int main(void){

  int i, j;

  /* 行列と行列 */
  int a[10][10], trans[10][10];

  /* 行と列 */
  int row, column;

  printf("行数 = ");
  scanf("%d", &row);
  printf("列数 = ");
  scanf("%d", &column);

  /* 行列の入力 */
  printf("\n行列を入力してください\n");
  for(i=0;i<row;++i){
    for(j=0;j<column;++j){
      printf("行列の要素 A[%d][%d] = ", i+1, j+1);
      scanf("%d", &a[i][j]);
    }
  }

  /* 入力した行列の表示 */
  printf("\nA = \n");
  for(i=0;i<row;++i){
    for(j=0;j<column;++j){
      printf("%d  ", a[i][j]);
      if(j==column-1)
          printf("\n");
    }
  }

  /* 転置行列 */
  for(i=0;i<row;++i){
    for(j=0;j<column;++j){
     trans[j][i]=a[i][j];
    }
  }

  /* 転置行列の表示 */
  printf("\n転置行列 = \n");
  for(i=0;i<column;++i){
    for(j=0;j<row;++j){
      printf("%d  ",trans[i][j]);
      if(j==row-1)
          printf("\n");
    }
  }

  return 0;

}

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

実行結果

いくつかの実行結果です。

行数 = 3
列数 = 3

行列を入力してください
行列の要素 A[1][1] = 1
行列の要素 A[1][2] = 2
行列の要素 A[1][3] = 3
行列の要素 A[2][1] = 4
行列の要素 A[2][2] = 5
行列の要素 A[2][3] = 6
行列の要素 A[3][1] = 7
行列の要素 A[3][2] = 8
行列の要素 A[3][3] = 9

A = 
1  2  3  
4  5  6  
7  8  9  

転置行列 = 
1  4  7  
2  5  8  
3  6  9  
行数 = 2
列数 = 3

行列を入力してください
行列の要素 A[1][1] = 1
行列の要素 A[1][2] = 2
行列の要素 A[1][3] = 3
行列の要素 A[2][1] = 4
行列の要素 A[2][2] = 5
行列の要素 A[2][3] = 6

A = 
1  2  3  
4  5  6  

転置行列 = 
1  4  
2  5  
3  6 

このように入力した行列の「転置行列」を表示します。

スポンサーリンク

関連記事と広告