设计一个C++程序,创建一个动态分配的二维数组,大小为用户输入的行数和列数。程序应允许用户输入数组中的每个元素值。之后,实现一个函数来计算并返回数组中所有元素的平均值。最后,输出这个平均值。 输入第一
时间: 2025-02-23 22:35:25 浏览: 44
设计一个C++程序来满足上述需求,可以按照以下步骤进行:
1. 包含必要的头文件:
```cpp
#include <iostream>
#include <vector>
using namespace std;
```
2. 定义一个函数`getUserInput()`来获取用户输入的行数和列数,并动态分配二维数组:
```cpp
int** createDynamicArray(int rows, int cols) {
int** arr = new int*[rows];
for (int i = 0; i < rows; ++i) {
arr[i] = new int[cols];
}
return arr;
}
```
3. 添加函数`inputArrayValues(int** arr, int rows, int cols)`让用户输入数组元素:
```cpp
void inputArrayValues(int** arr, int rows, int cols) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
cout << "Enter value for element [" << i << ", " << j << "]: ";
cin >> arr[i][j];
}
}
}
```
4. 创建一个函数`calculateAverage(int** arr, int rows, int cols)`来计算并返回平均值:
```cpp
double calculateAverage(int** arr, int rows, int cols) {
double sum = 0;
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
sum += arr[i][j];
}
}
return sum / (rows * cols);
}
```
5. 主函数`main()`中整合以上功能并输出结果:
```cpp
int main() {
int rows, cols;
cout << "Enter the number of rows and columns: ";
cin >> rows >> cols;
// 动态分配数组
int** array = createDynamicArray(rows, cols);
// 输入数组元素
inputArrayValues(array, rows, cols);
// 计算平均值
double average = calculateAverage(array, rows, cols);
// 输出平均值
cout << "The average of all elements is: " << average << endl;
// 清理内存
for (int i = 0; i < rows; ++i) {
delete[] array[i];
}
delete[] array;
return 0;
}
```
阅读全文
相关推荐


















