用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-25 08:04:42 浏览: 97
实验4 类与对象
我可以回答这个问题。以下是实现该功能的类ARRAY的代码:
```c
#include <iostream>
using namespace std;
class ARRAY {
private:
float a[10], b[10];
public:
ARRAY(float arr[10]) {
for (int i = ; i < 10; i++) {
a[i] = arr[i];
}
}
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() {
float arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ARRAY myArray(arr);
myArray.process();
myArray.print();
return ;
}
```
其中,构造函数接受一个已知数组作为参数,process() 函数实现了上述处理规则,print() 函数在屏幕上打印数组 a 和数组 b。
阅读全文