输入一个n*n(n<=50)的矩阵,计算其两条对角线上个元素之和。c++
时间: 2024-03-09 17:45:22 浏览: 206
好的,下面是一个 C++ 的代码示例,实现计算矩阵两条对角线上元素之和:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入矩阵的大小
int matrix[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j]; // 输入矩阵元素
}
}
int sum1 = 0; // 初始化第一条对角线的和
int sum2 = 0; // 初始化第二条对角线的和
for (int i = 0; i < n; i++) {
sum1 += matrix[i][i]; // 第一条对角线的元素下标为[i][i]
sum2 += matrix[i][n-1-i]; // 第二条对角线的元素下标为[i][n-1-i]
}
cout << sum1 + sum2 << endl; // 输出两条对角线上元素之和
return 0;
}
```
希望这个代码可以帮到你!
相关问题
c++实现输入一个n*n的矩阵(矩阵元素为整数),求出两条对角线元素值之和。 输入描述第一行输入一个整数n,之后输入n*n个整数,每个整数为矩阵的一个元素输出描述一个整数,为两条对角线元素值之和
我可以回答您的问题。这个问题属于数学问题,可以通过编写程序来实现。下面是一个示例代码,可以实现输入一个 n*n 的矩阵,求出两条对角线元素值之和。
```python
n = int(input())
matrix = []
for i in range(n):
row = list(map(int, input().split()))
matrix.append(row)
sum1 = sum(matrix[i][i] for i in range(n))
sum2 = sum(matrix[i][n-1-i] for i in range(n))
result = sum1 + sum2
print(result)
```
当然,如果您有其他问题,也欢迎随时向我提问。
用c++输入一个n*n的矩阵,求出两条对角线元素值之和
在C++中,可以创建一个二维数组(矩阵),然后分别计算主对角线(从左上到右下)和副对角线(从左下到右上)的元素之和。下面是一个简单的例子:
```cpp
#include <iostream>
using namespace std;
int sumDiagonalElements(int matrix[n][n]) {
int sumMain = 0, sumSub = 0; // 主对角线和副对角线的初始和分别为0
for (int i = 0; i < n; i++) { // 遍历矩阵
sumMain += matrix[i][i]; // 主对角线元素累加
if (i != n - 1 - i]; // 副对角线元素累加
}
return sumMain + sumSub; // 返回两个对角线元素之和
}
int main() {
int n;
cout << "Enter the size of the matrix (n x n): ";
cin >> n;
int matrix[n][n];
cout << "Enter elements of the matrix:\n";
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
cin >> matrix[i][j];
int totalSum = sumDiagonalElements(matrix);
cout << "Sum of diagonal elements: " << totalSum << endl;
return 0;
}
```
这个程序首先获取用户输入的矩阵大小和元素,然后调用`sumDiagonalElements`函数计算并返回两个对角线元素之和。
阅读全文