Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Điền đường chéo để tổng mỗi hàng, cột và đường chéo bằng nhau của ma trận 3x3 bằng C++


Giả sử chúng ta có một ma trận 3x3, các phần tử đường chéo ban đầu rỗng. Chúng ta phải điền đường chéo sao cho tổng của một hàng, cột và đường chéo sẽ giống nhau. Giả sử ma trận như sau:

Sau khi điền, nó sẽ trở thành:

Giả sử các phần tử đường chéo là x, y, z. Các giá trị sẽ là:

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

Ví dụ

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

Kết quả

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