Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ เพื่อค้นหาทรานสโพสของเมทริกซ์


เมทริกซ์คืออาร์เรย์ของตัวเลขสี่เหลี่ยมที่จัดเรียงในรูปแบบของแถวและคอลัมน์ ทรานสโพสของเมทริกซ์คือเมทริกซ์ใหม่ที่แถวของต้นฉบับคือคอลัมน์ในตอนนี้และในทางกลับกัน ตัวอย่างเช่น

เมทริกซ์ได้รับด้านล่าง -

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;
}