c++编程实现:随机产生范围在[10,30]的4×4矩阵的整数,求矩阵主对角线元素之和
时间: 2024-12-22 12:33:47 浏览: 3
C++求一个3×3矩阵对角线元素之和
在C++中,你可以使用标准库`<cstdlib>`和`<ctime>`来生成随机数,并使用二维数组来存储矩阵。以下是实现该功能的一个简单示例:
```cpp
#include <iostream>
#include <cstdlib> // for rand and srand
#include <ctime> // for time
const int ROWS = 4;
const int COLS = 4;
const int RANGE_START = 10;
const int RANGE_END = 30;
int main() {
// 初始化随机数种子,保证每次运行程序结果一致(可选)
std::srand(std::time(0));
// 创建一个动态数组来表示矩阵
int matrix[ROWS][COLS];
// 遍历矩阵并填充随机数
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
matrix[i][j] = std::rand() % (RANGE_END - RANGE_START + 1) + RANGE_START; // 生成 [RANGE_START, RANGE_END] 区间的随机数
}
}
// 计算主对角线元素之和
int diagonal_sum = 0;
for (int i = 0; i < ROWS && i < COLS; ++i) {
diagonal_sum += matrix[i][i];
}
// 输出结果
std::cout << "矩阵主对角线元素之和: " << diagonal_sum << std::endl;
return 0;
}
```
当你运行这个程序,它会生成一个4x4的矩阵,其中所有元素都在指定范围内,然后计算并输出主对角线元素的总和。
阅读全文