用c++写建立一个Array类,求一维数组中各元素的最大值、最小值和平均值;
时间: 2024-12-19 20:15:24 浏览: 8
C++求二维数组中的最大值和最小值的方法
在 C++ 中,你可以创建一个名为 `Array` 的类,用于存储一维整数数组,并提供计算最大值、最小值和平均值的功能。以下是一个简单的示例:
```cpp
#include <iostream>
#include <climits> // 包含 INT_MIN 和 INT_MAX 以获取整数范围
class Array {
private:
int* data; // 数组数据指针
int size; // 数组大小
public:
// 构造函数,接收数组大小和初始化数组
Array(int n) : data(new int[n]), size(n) {
for (int i = 0; i < size; ++i) {
data[i] = 0;
}
}
// 拷贝构造函数
Array(const Array& other) : data(new int[other.size]), size(other.size) {
for (int i = 0; i < size; ++i) {
data[i] = other.data[i];
}
}
~Array() { // 析构函数释放内存
delete[] data;
}
// 设置数组元素
void setElement(int index, int value) {
if (index >= 0 && index < size) {
data[index] = value;
} else {
std::cerr << "Index out of bounds!" << std::endl;
}
}
// 计算并返回最大值
int getMax() const {
return *std::max_element(data, data + size);
}
// 计算并返回最小值
int getMin() const {
return *std::min_element(data, data + size);
}
// 计算并返回平均值
double getAverage() const {
double sum = 0;
for (int i = 0; i < size; ++i) {
sum += data[i];
}
return sum / static_cast<double>(size);
}
// 显示数组内容
void display() const {
for (int i = 0; i < size; ++i) {
std::cout << "Element at index " << i << ": " << data[i] << std::endl;
}
}
};
// 示例使用
int main() {
Array arr(5);
arr.setElement(0, 10);
arr.setElement(1, 20);
arr.setElement(2, 30);
arr.setElement(3, 40);
arr.setElement(4, 50);
std::cout << "Max value: " << arr.getMax() << std::endl;
std::cout << "Min value: " << arr.getMin() << std::endl;
std::cout << "Average value: " << arr.getAverage() << std::endl;
arr.display();
return 0;
}
```
在这个例子中,`Array` 类包含了基本的数组操作,如设置元素、获取最大值和最小值以及计算平均值。注意,为了防止数组越界错误,这里添加了检查。
阅读全文