填充對角線以使每一行、列和對角線的和等於 3×3 矩陣,使用 c++
假設我們有一個 3x3 矩陣,其對角線元素最初為空。我們必須填充對角線,使行、列和對角線的和相等。假設一個矩陣如下所示 -

填充後,如下所示 -

假設對角線元素為 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP