一些应用程序可以从二维数组或矩阵的使用中受益匪浅。
数字存储在矩阵的行和列中。使用多维数组,我们
也可以用 C++ 定义 2D 矩阵。在这篇文章中,我们将了解如何使用 C++
确定给定矩阵的法线和迹线。
矩阵中元素总数的平方根就是所谓的
普通的。迹线由构成主对角线的所有组件组成。让我们
查看 C++ 代码中算法的表示。
矩阵迹
$begin{bmatrix}
8 & 5& 3换行符
6 & 7& 1换行
2 & 4& 9换行符
end{bmatrix},$
主对角线上所有元素的和:(8 + 7 + 9) = 24,这是给定矩阵的迹
在上一个示例中,使用了一个 3 x 3 矩阵,结果是各矩阵的总和
主对角线中的元素数量。矩阵的迹可以在总和中找到。让我们
看一下算法有助于我们理解。
算法
- 读取矩阵 M 作为输入
- 假设 M 有 n 行 n 列
- 总和:= 0
- 对于从 1 到 n 的 i,执行
- sum := sum + M[ i ][ i ]i>
- 结束
- 返回总和
示例
#include
#include
#define N 7
using namespace std;
float solve( int M[ N ][ N ] ){
int sum = 0;
// read elements through major diagonal, where row index and column index are same, both are i
for ( int i = 0; i < N; i++ ) {
sum = sum + M[ i ][ i ];
}
return sum;
}
int main(){
int mat1[ N ][ N ] = {
{5, 8, 74, 21, 69, 78, 25},
{48, 2, 98, 6, 63, 52, 3},
{85, 12, 10, 6, 9, 47, 21},
{6, 12, 18, 32, 5, 10, 32},
{8, 45, 74, 69, 1, 14, 56},
{7, 69, 17, 25, 89, 23, 47},
{98, 23, 15, 20, 63, 21, 56},
};
cout