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

เติมเส้นทแยงมุมเพื่อสร้างผลรวมของทุกแถว คอลัมน์ และแนวทแยงเท่ากับเมทริกซ์ 3×3 โดยใช้ c++


สมมติว่าเรามีเมทริกซ์ขนาด 3x3 หนึ่งตัว ซึ่งองค์ประกอบในแนวทแยงว่างเปล่าในตอนแรก เราต้องเติมเส้นทแยงมุมเพื่อให้ผลรวมของแถว คอลัมน์ และแนวทแยงเท่ากัน สมมติว่าเมทริกซ์เป็นเหมือน -

เติมเส้นทแยงมุมเพื่อสร้างผลรวมของทุกแถว คอลัมน์ และแนวทแยงเท่ากับเมทริกซ์ 3×3 โดยใช้ c++

กรอกเสร็จแล้วจะเป็น −

เติมเส้นทแยงมุมเพื่อสร้างผลรวมของทุกแถว คอลัมน์ และแนวทแยงเท่ากับเมทริกซ์ 3×3 โดยใช้ c++

สมมติว่าองค์ประกอบในแนวทแยงคือ x, y, z ค่าจะเป็น −

  • x =(M[2, 3] + M[3, 2])/ 2
  • z =(M[1, 2] + M[2, 1])/ 2
  • y =(x + z)/2

ตัวอย่าง

#include<iostream>
using namespace std;
void displayMatrix(int matrix[3][3]) {
   for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++)
         cout << matrix[i][j] << " ";
      cout << endl;
   }
}
void fillDiagonal(int matrix[3][3]) {
   matrix[0][0] = (matrix[1][2] + matrix[2][1]) / 2;
   matrix[2][2] = (matrix[0][1] + matrix[1][0]) / 2;
   matrix[1][1] = (matrix[0][0] + matrix[2][2]) / 2;
   cout << "Final Matrix" << endl;
   displayMatrix(matrix);
}
int main() {
   int matrix[3][3] = {
   { 0, 3, 6 },
   { 5, 0, 5 },
   { 4, 7, 0 }};
   cout << "Given Matrix" << endl;
   displayMatrix(matrix);
   fillDiagonal(matrix);
}

ผลลัพธ์

Given Matrix
0 3 6
5 0 5
4 7 0
Final Matrix
6 3 6
5 5 5
4 7 4