C++编写程序,调用函数,随机生成0-99之间的数,放入5X4的矩阵,求出每行元素之和。
时间: 2023-10-24 08:08:39 浏览: 32
下面是一个实现该功能的C++程序:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void init_matrix(int matrix[][4], int rows, int cols);
void print_matrix(int matrix[][4], int rows, int cols);
void row_sum(int matrix[][4], int rows, int cols, int sum[]);
int main()
{
const int ROWS = 5;
const int COLS = 4;
int matrix[ROWS][COLS];
int sum[ROWS] = {0};
srand(time(NULL)); // 初始化随机种子
init_matrix(matrix, ROWS, COLS);
cout << "矩阵元素为:" << endl;
print_matrix(matrix, ROWS, COLS);
row_sum(matrix, ROWS, COLS, sum);
cout << "每行元素之和为:" << endl;
for (int i = 0; i < ROWS; i++) {
cout << sum[i] << " ";
}
cout << endl;
return 0;
}
void init_matrix(int matrix[][4], int rows, int cols)
{
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = rand() % 100;
}
}
}
void print_matrix(int matrix[][4], int rows, int cols)
{
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
}
void row_sum(int matrix[][4], int rows, int cols, int sum[])
{
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
sum[i] += matrix[i][j];
}
}
}
```
程序中使用了三个函数:
- `init_matrix`:用于初始化矩阵,随机生成0-99之间的整数。
- `print_matrix`:用于输出矩阵元素。
- `row_sum`:用于计算每行元素之和,并将结果保存在参数`sum`中。
程序先定义了一个5X4的矩阵和一个长度为5的数组,用于存放每行元素之和。然后使用`srand`函数初始化随机数生成器。接着调用`init_matrix`函数生成随机矩阵,输出矩阵元素,最后调用`row_sum`函数计算每行元素之和并输出结果。