#include<iostream>
using namespace std;
class Array
{
private:
int *a; //原数组
int *a1; //存放数组a的元素的编号
int n; //数组元素个数
public:
Array(int *x, int n)
{
Array::a=x;
}
int GetSum()
{
int sum=0;
for(int i=0;i<n;i++)
{
sum+=a[i];
}
return sum;
}
int GetMax()
{
int max=a[0];
for(int i=1;i<n;i++)
{
if(a[i]>max)
max=a[i];
}
return max;
}
int GetMin()
{
int min=a[0];
for(int i=1;i<n;i++)
{
if(a[i]<min)
min=a[i];
}
return min;
}
void Number()
{
int count=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(a[j]<a[i])
count++;
a1[i]=count+1;
}
}
void Output()
{
for(int i=0;i<n;i++)
printf("%d ",a1[i]);
printf("\n");
}
~Array()
{
delete[] a;
delete[] a1;
}
};
int main()
{
int n;
int *x=new int[n];
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%d",&x[i]);
}
Array q(*x,n);
cout<<"和="<<q.GetSum()<<endl;
cout<<"最大值="<<q.GetMax()<<endl;
cout<<"最小值="<<q.GetMax()<<endl;
q.Number();
q.Output();
}
参考GPT和自己的思路:
根据提供的代码,第75行的初始化参数是 Array::Array(int* x, int n)
,其中参数 x
是一个指向整型数组的指针,表示原数组;参数 n
表示数组元素个数。在构造函数中,将原数组的地址 x
赋值给类中的私有变量 a
,即 Array::a=x
。