输入一个n*n的矩阵,求出两对角线元素之和,用c++代码实现
时间: 2024-10-25 22:10:41 浏览: 28
C++求一个3×3矩阵对角线元素之和
在C++中,为了计算一个n * n矩阵的两条对角线元素之和,我们可以创建一个二维数组,然后分别累加主对角线(从左上到右下)和副对角线(从左下到右上)的元素。以下是相应的代码实现:
```cpp
#include <iostream>
using namespace std;
int sumDiagonal(int matrix[n][n], int n) {
// 主对角线元素之和
int mainDiagSum = 0;
for (int i = 0; i < n; i++) {
mainDiagSum += matrix[i][i];
}
// 副对角线元素之和
int secondaryDiagSum = 0;
for (int i = 0; i < n; i++) {
secondaryDiagSum += matrix[i][n - i - 1];
}
// 返回两条对角线元素之和
return mainDiagSum + secondaryDiagSum;
}
int main() {
int n;
cout << "请输入矩阵的行数(n): ";
cin >> n;
if (n <= 0) {
cout << "矩阵尺寸无效,请输入正整数。";
return 0;
}
int matrix[n][n]; // 初始化矩阵
// 你可以通过循环让用户输入矩阵元素,这里省略
int result = sumDiagonal(matrix, n);
cout << "矩阵的两条对角线元素之和为: " << result << endl;
return 0;
}
```
在这个代码中,`sumDiagonal`函数接受一个二维数组和它的维度作为参数,并返回两条对角线的和。`main`函数负责获取用户输入、初始化矩阵以及调用这个函数。
阅读全文