C++ 程序中的主对角矩阵
在本教程中,我们将编写一个程序来帮助我们找出给定的矩阵是否是主对角矩阵。
如果矩阵中除对角线元素以外的元素之和小于对角线矩阵,则矩阵称为主对角矩阵。让我们看一个例子。
421 352 247
上面的矩阵是主对角矩阵。因为
4 > 2 + 1 5 ≥ 3 + 2 7 > 4 + 2
所有对角线元素都大于或等于同一行中非对角线元素之和。
让我们看看解决这个问题的步骤。
遍历矩阵的行和列。
求出非对角线元素之和。
将非对角线元素之和与对角线元素进行比较。
如果非对角线元素之和大于对角线元素,则打印“否”。
打印“是”。
示例
让我们看看代码。
#include <bits/stdc++.h> using namespace std; #define N 3 bool isDiagonallyDominantMatrix(int matrix[N][N], int n) { for (int i = 0; i < n; i++) { int sum = 0; for (int j = 0; j < n; j++) { if (i != j) { sum += abs(matrix[i][j]); } } if (abs(matrix[i][i]) < sum) { return false; } } return true; } int main() { // int matrix[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int matrix[N][N] = {{4, 2, 1}, {3, 5, 2}, {2, 4, 7}}; if (isDiagonallyDominantMatrix(matrix, 3)) { cout << "Yes" << endl; } else { cout << "No" << endl; } return 0; }
输出
如果你运行上面的代码,你会得到以下结果。
Yes
结论
如果你对本教程有任何疑问,可以在评论区提出。
广告