C:自定义数组类ArrayClass: 1个属性:int arr[ ] ; 方法: init()方法:通过键盘输入整数n,为属性arr创建n个元素空间,通过键盘输入n个数存在属性数组arr中; max()方法:返回属性arr中的最大值; search()方法:有一个整型形式参数,在属性arr中查找该整型参数,如果找到了返回true,否则返回false; sum()方法:返回属性arr中所有元素的和; average()方法:返回属性arr中所有元素的平均值; out()方法:输出属性arr中的所有元素的值; main()方法:创建该类对象;调用init方法初始化对象的属性数组;接着调用out方法输出数组元素的值;接着通过键盘输入一个整数,查找该整数是否在数组中,并输出结果;最后输出数组中的最大值,和,平均值。
时间: 2023-06-25 09:04:41 浏览: 72
函数:int **array2(int **arr,int n,int m) , C++ 输入二维数组 ,返回值二维数组
5星 · 资源好评率100%
好的,下面是代码实现:
```c++
#include <iostream>
using namespace std;
class ArrayClass {
private:
int *arr;
int size;
public:
void init();
int max();
bool search(int num);
int sum();
double average();
void out();
};
void ArrayClass::init() {
cout << "请输入数组大小:";
cin >> size;
arr = new int[size];
cout << "请输入" << size << "个整数:" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
int ArrayClass::max() {
int maxNum = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > maxNum) {
maxNum = arr[i];
}
}
return maxNum;
}
bool ArrayClass::search(int num) {
for (int i = 0; i < size; i++) {
if (arr[i] == num) {
return true;
}
}
return false;
}
int ArrayClass::sum() {
int sumNum = 0;
for (int i = 0; i < size; i++) {
sumNum += arr[i];
}
return sumNum;
}
double ArrayClass::average() {
return (double)sum() / size;
}
void ArrayClass::out() {
cout << "数组元素为:" << endl;
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
ArrayClass arr;
arr.init();
arr.out();
int num;
cout << "请输入要查找的整数:";
cin >> num;
if (arr.search(num)) {
cout << "该整数在数组中!" << endl;
} else {
cout << "该整数不在数组中!" << endl;
}
cout << "最大值为:" << arr.max() << endl;
cout << "和为:" << arr.sum() << endl;
cout << "平均值为:" << arr.average() << endl;
return 0;
}
```
以上代码中,我们通过类的方式定义了一个数组类 `ArrayClass`,其中包括了属性 `arr` 和方法 `init()`、`max()`、`search()`、`sum()`、`average()`、`out()`。在 main 函数中,我们创建 `ArrayClass` 类对象 `arr`,并调用 `init()` 方法初始化其属性数组 `arr`,接着调用 `out()` 方法输出数组元素的值,然后通过键盘输入一个整数,调用 `search()` 方法查找该整数是否在数组中,并输出结果,最后输出数组中的最大值、和、平均值。
阅读全文