Cプログラムを使用して行列の転置を計算する方法は?
行列の転置
行列の転置は、行が元の行列の列であるものです。つまり、AとBが2つの行列であり、行列Bの行が行列Aの列である場合、行列Bは次の転置であると言われます。マトリックスA。
m(i、j)行列をm(j、i)に変更するために使用されるロジックは次のとおりです-
for (i = 0;i < m;i++) for (j = 0; j < n; j++) transpose[j][i] = matrix[i][j];
プログラム1
この例では、forループを使用して行列の転置を出力します。 。
#include <stdio.h> int main(){ int m, n, i, j, matrix[10][10], transpose[10][10]; printf("Enter rows and columns :\n"); scanf("%d%d", &m, &n); printf("Enter elements of the matrix\n"); for (i= 0; i < m; i++) for (j = 0; j < n; j++) scanf("%d", &matrix[i][j]); for (i = 0;i < m;i++) for (j = 0; j < n; j++) transpose[j][i] = matrix[i][j]; printf("Transpose of the matrix:\n"); for (i = 0; i< n; i++) { for (j = 0; j < m; j++) printf("%d\t", transpose[i][j]); printf("\n"); } return 0; }
出力
Enter rows and columns : 2 3 Enter elements of the matrix 1 2 3 2 4 5 Transpose of the matrix: 1 2 2 4 3 5
プログラム2
#include<stdio.h> #define ROW 2 #define COL 5 int main(){ int i, j, mat[ROW][COL], trans[COL][ROW]; printf("Enter matrix: \n"); // input matrix for(i = 0; i < ROW; i++){ for(j = 0; j < COL; j++){ scanf("%d", &mat[i][j]); } } // create transpose for(i = 0; i < ROW; i++){ for(j = 0; j < COL; j++){ trans[j][i] = mat[i][j]; } } printf("\nTranspose matrix: \n"); // print transpose for(i = 0; i < COL; i++){ for(j = 0; j < ROW; j++){ printf("%d ", trans[i][j]); } printf("\n"); } return 0; }
出力
Enter matrix: 1 2 3 4 5 5 4 3 2 1 Transpose matrix: 1 5 2 4 3 3 4 2 5 1
-
Pythonで頂点から頂点への到達可能性マトリックスを計算するプログラム
隣接リスト表現としてグラフがあるとすると、2D行列Mを見つける必要があります。ここで 頂点iとjの間にパスがある場合、M [i、j]=1です。 それ以外の場合はM[i、j]=0です。 したがって、入力が次のような場合 その場合、出力は次のようになります 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 これを解決するには、次の手順に従います- ans:=サイズn x nの2次元行列。こ
-
行列の転置を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 行列が与えられた場合、転置を同じ行列に格納して表示する必要があります。 行列の転置は、行を列に、列を行に変更することで得られます。つまり、A行列の転置はA[i][j]をA[j][i]に変更することで得られます。 以下に示す実装を見てみましょう- 例 N = 4 def transpose(A): for i in range(N): for j in range(i+1, N): &nbs