第11次实验 程序片段编程题 8. 建立一个数组类ARR求最大值及其下标 【问题描述】建立一个数组类ARR,求一个整型数组所有元素中的最大值及该最大值在数组中的序号(从1开始),具体要求如下: (1)私有数据成员: int n : 数组实际元素个数 int a[100] : 存放数组元素 int max, maxindex : 存放整型数组元素中的最大值及最大值的序号 (2)公有成员函数 ARR(int x[ ], int size): 构造函数,用参数size初始化n,用x数组初始化a数组。 void FindMax( ): 求整型数组元素中的最大值及最大值的序号。 void Show( ): 将数组元素以每行5个数的形式输出到屏幕上,同时输出数组中元素的最大值及最大值的序号。 (3)在主函数中完成对该类的测试,定义一个整型数组b[ ]={3,4,6,8,10,34,2}, 定义一个ARR类的对象arr,用b数组及其元素个数初始化该对象,求其最大值及最大值的序号并输出程序的运行结果。 【输入形式】无 【输出形式】数组对象中的元素最大值及最大值的序号。 【样例输入】无 【样例输出】 3 4 6 8 10 34 2 max=34 maxindex=6
时间: 2024-01-17 09:03:41 浏览: 81
以下是ARR类的实现代码:
```c++
#include <iostream>
using namespace std;
class ARR{
private:
int n; // 数组实际元素个数
int a[100]; // 存放数组元素
int max, maxindex; // 存放整型数组元素中的最大值及最大值的序号
public:
ARR(int x[], int size){ // 构造函数,用参数size初始化n,用x数组初始化a数组
n = size;
for(int i = 0; i < n; i++){
a[i] = x[i];
}
}
void FindMax(){ // 求整型数组元素中的最大值及最大值的序号
max = a[0];
maxindex = 1;
for(int i = 1; i < n; i++){
if(a[i] > max){
max = a[i];
maxindex = i + 1;
}
}
}
void Show(){ // 将数组元素以每行5个数的形式输出到屏幕上,同时输出数组中元素的最大值及最大值的序号
for(int i = 0; i < n; i++){
cout << a[i] << "\t";
if((i + 1) % 5 == 0){
cout << endl;
}
}
cout << "max=" << max << "\tmaxindex=" << maxindex << endl;
}
};
int main(){
int b[] = {3,4,6,8,10,34,2};
ARR arr(b, 7); // 定义一个ARR类的对象arr,用b数组及其元素个数初始化该对象
arr.FindMax(); // 求其最大值及最大值的序号
arr.Show(); // 输出程序的运行结果
return 0;
}
```
输出结果为:
```
3 4 6 8 10
34 2
max=34 maxindex=6
```
阅读全文