เมทริกซ์คืออาร์เรย์ของตัวเลขสี่เหลี่ยมที่จัดเรียงในรูปแบบของแถวและคอลัมน์ ทรานสโพสของเมทริกซ์คือเมทริกซ์ใหม่ที่แถวของต้นฉบับคือคอลัมน์ในตอนนี้และในทางกลับกัน ตัวอย่างเช่น
เมทริกซ์ได้รับด้านล่าง -
1 2 3 4 5 6 7 8 9
ทรานสโพสของเมทริกซ์ด้านบนมีดังต่อไปนี้
1 4 7 2 5 8 3 6 9
โปรแกรมหาทรานสโพสของเมทริกซ์มีดังนี้ -
ตัวอย่าง
#include<iostream<
using namespace std;
int main() {
int transpose[10][10], r=3, c=2, i, j;
int a[3][3] = { {1, 2} , {3, 4} , {5, 6} };
cout<<"The matrix is:"<<endl;
for(i=0; i<r; ++i) {
for(j=0; j<c; ++j)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;
for(i=0; i<r; ++i)
for(j=0; j<c; ++j) {
transpose[j][i] = a[i][j];
}
cout<<"The transpose of the matrix is:"<<endl;
for(i=0; i<c; ++i) {
for(j=0; j<r; ++j)
cout<<transpose[i][j]<<" ";
cout<<endl;
}
return 0;
} ผลลัพธ์
The matrix is: 1 2 3 4 5 6 The transpose of the matrix is: 1 3 5 2 4 6
ในโปรแกรมข้างต้น เมทริกซ์จะถูกเตรียมข้อมูลเบื้องต้น จากนั้นค่าของมันจะปรากฏขึ้น ซึ่งแสดงในข้อมูลโค้ดต่อไปนี้
int a[3][3] = { {1, 2} , {3, 4} , {5, 6} };
cout<<"The matrix is:"<<endl;
for(i=0; i<r; ++i) {
for(j=0; j<c; ++j)
cout<<a[i][j]<<" ";
cout<<endl;
} ทรานสโพสของเมทริกซ์คำนวณโดยใช้การวนซ้ำแบบซ้อน ได้ดังนี้
for(i=0; i<r; ++i)
for(j=0; j<c; ++j) {
transpose[j][i] = a[i][j];
} ในที่สุด ทรานสโพสก็ถูกพิมพ์ออกมาบนหน้าจอ ทำได้โดยใช้ข้อมูลโค้ดต่อไปนี้
cout<<"The transpose of the matrix is:"<<endl;
for(i=0; i<c; ++i) {
for(j=0; j<r; ++j)
cout<<transpose[i][j]<<" ";
cout<<endl;
}