はじめに
この実験では、C++ で行列の転置を行うプロセスを案内します。行列の転置は、行列の行と列を入れ替えることによって得られ、列が行になり、行が列になる新しい行列が生成されます。
行列の初期化
- 3x3 の 2 つの行列
mat1とmat2を宣言します。 coutとcinを使用して、ユーザーに行列の要素を入力してもらいます。coutを使用して元の行列mat1を表示します。
#include <iostream>
using namespace std;
int main()
{
// 行列の初期化
int mat1[3][3], mat2[3][3];
int i, j;
// ユーザーによる要素の入力
cout << "Enter the elements of Matrix (3x3): " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cin >> mat1[i][j];
}
}
// 元の行列の表示
cout << "\nMatrix is: " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cout << mat1[i][j] << " ";
}
cout << endl;
}
return 0;
}
行列の転置
- 元の行列の行と列を入れ替えることで、行列の転置を行います。
- 転置行列の結果を
mat2に格納します。
#include <iostream>
using namespace std;
int main()
{
// 行列の初期化
int mat1[3][3], mat2[3][3];
int i, j;
// ユーザーによる要素の入力
cout << "Enter the elements of Matrix (3x3): " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cin >> mat1[i][j];
}
}
// 元の行列の表示
cout << "\nMatrix is: " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cout << mat1[i][j] << " ";
}
cout << endl;
}
// 行列の転置
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
mat2[i][j] = mat1[j][i];
}
}
// 転置行列の表示
cout << "\nTransposed matrix is: " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cout << mat2[i][j] << " ";
}
cout << endl;
}
return 0;
}
完全なコード
#include <iostream>
using namespace std;
int main()
{
// 行列の初期化
int mat1[3][3], mat2[3][3];
int i, j;
// ユーザーによる要素の入力
cout << "Enter the elements of Matrix (3x3): " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cin >> mat1[i][j];
}
}
// 元の行列の表示
cout << "\nMatrix is: " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cout << mat1[i][j] << " ";
}
cout << endl;
}
// 行列の転置
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
mat2[i][j] = mat1[j][i];
}
}
// 転置行列の表示
cout << "\nTransposed matrix is: " << endl;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
cout << mat2[i][j] << " ";
}
cout << endl;
}
return 0;
}
まとめ
この実験では、C++ で行列の転置を行うプロセスを案内しました。与えられた手順に従うことで、行列を初期化して転置する方法をより深く理解していただけるはずです。行列の転置は線形代数における重要な演算であり、C++ で行うことで様々な計算タスクに役立ちます。



