输入一个n*n的矩阵,求出两条对角线元素值之和。
时间: 2024-11-06 18:20:02 浏览: 25
在C++中,我们可以创建一个二维数组(矩阵)并计算对角线元素的和。对于给定的`n * n`矩阵,对角线有两条,一条是从左上到右下的主对角线,另一条是从左下到右上的次对角线。
以下是一个简单的示例代码,使用嵌套循环遍历矩阵:
```cpp
#include <iostream>
int main() {
int n, sum_main = 0, sum_secondary = 0; // 主对角线和次对角线的和
std::cout << "Enter the size of the matrix (n x n): ";
std::cin >> n;
// 创建一个n x n的动态数组(如果没有固定大小,可使用vector或std::array)
int matrix[n][n];
std::cout << "Enter elements for the matrix:\n";
for(int i = 0; i < n; ++i) {
for(int j = 0; j < n; ++j) {
std::cin >> matrix[i][j];
// 对于主对角线,索引i == j;对于次对角线,i + j == n - 1(因为矩阵下标从0开始)
if(i == j) {
sum_main += matrix[i][j]; // 主对角线
} else if(i + j == n - 1) {
sum_secondary += matrix[i][j]; // 次对角线
}
}
}
std::cout << "Sum of main diagonal elements: " << sum_main << "\n";
std::cout << "Sum of secondary diagonal elements: " << sum_secondary << "\n";
return 0;
}
```
在这个程序中,用户首先输入矩阵的尺寸,然后逐个输入矩阵元素。计算两个对角线的总和后,分别输出它们。
阅读全文