如何用C++编写一个函数来计算3x3矩阵的对角线元素之和?
时间: 2024-12-08 21:14:51 浏览: 9
C语言C++编程学习:C语言实现矩阵转置.pdf
在C++中,你可以创建一个模板函数来计算任意大小的方阵(比如3x3矩阵)的对角线元素之和。以下是一个简单的示例:
```cpp
#include <iostream>
template<int N>
double sum_diagonal(int mat[N][N]) {
double sum = 0;
for (int i = 0; i < N; ++i) {
sum += mat[i][i]; // 只计算主对角线元素
}
return sum;
}
// 示例:计算3x3矩阵的对角线元素和
int main() {
int matrix[3][3] = { {1, 2, 3},
{4, 5, 6},
{7, 8, 9} };
double diagonal_sum = sum_diagonal<3>(matrix);
std::cout << "The sum of the diagonal elements is: " << diagonal_sum << std::endl;
return 0;
}
```
这个`sum_diagonal`函数接受一个`N x N`的二维整数数组作为参数,并通过遍历数组的对角线元素来累加。注意,这里只计算了主对角线,如果需要计算副对角线,可以在循环里添加另一个条件`mat[i][N - i - 1]`。
阅读全文