用c++写一个 试建立一个实现该功能的类ARRAY,具有如下功能:可由一个已知数组经处理生成一个新数组,规则如下:新数组每个元素的值等于原数组对应元素与其左右相邻元素的平均值。其中,第0个元素的左邻元素为最后一个元素。最后一个元素的右邻元素为第0个元素。例如:假设原数组为a[10],新数组为b[10],则b[1] = (a[0]+a[1]+a[2])/3,b[0]=(a[9]+a[0]+a[1])/3,b[9]=(a[8]+a[9]+a[0])/3。具体要求如下: 私有数据成员 float a[10], b[10](数组大小固定为10) 公有成员函数 构造函数 void process(),实现上述处理 void print(),在屏幕上打印数组a和b 在主程序中测试上述功能。
时间: 2023-03-26 14:03:38 浏览: 89
我可以回答这个问题。以下是实现该功能的类ARRAY的代码:
```c
#include <iostream>
using namespace std;
class ARRAY {
private:
float a[10], b[10];
public:
ARRAY() {
for (int i = ; i < 10; i++) {
a[i] = i + 1;
}
}
void process() {
for (int i = ; i < 10; i++) {
b[i] = (a[(i + 9) % 10] + a[i] + a[(i + 1) % 10]) / 3;
}
}
void print() {
cout << "a: ";
for (int i = ; i < 10; i++) {
cout << a[i] << " ";
}
cout << endl;
cout << "b: ";
for (int i = ; i < 10; i++) {
cout << b[i] << " ";
}
cout << endl;
}
};
int main() {
ARRAY arr;
arr.process();
arr.print();
return ;
}
```
在主程序中,我们首先创建一个ARRAY对象arr,然后调用它的process函数,生成新数组b,最后调用print函数,打印数组a和b。