永发信息网

建立一个MOVE,将数组中最大元素的值与最小元素的值互换。

答案:1  悬赏:0  手机版
解决时间 2021-02-19 15:52
  • 提问者网友:王者佥
  • 2021-02-18 15:13
建立一个MOVE,将数组中最大元素的值与最小元素的值互换。
具体要求如下:
1.私有数据成员
int*array:一维整形数组。
int n:数组中元素的个数。
2公有成员函数:
MOVE(int b【】,int m):构造函数,初始化成员数据
Void exchange(): 输入平均值,并将数组中的元素按要求重新放置
Void print():输入一维数组
~MOVE():析构函数
3在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对3该类进行测试
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-02-18 16:24
#include <iostream>
using namespace std;
class MOVE
{
public:
MOVE(int b[],int m)
{
array=b;
n=m;
}
void exchange();//平均值,并将数组中的元素按要求重新放置
void print();//一维数组
~MOVE()
{
};

private:int*array;
int n;
};
void MOVE::print()
{
int i=0;
for(i;i<n;i++)
cout<<array[i]<<endl;

}
void MOVE::exchange()
{
int a,b,max=array[0],min=array[0],i;
float sum=0,average;
for(i=0;i<n;i++)
{
sum+=array[i];
}
average=(float)sum/n;
cout<<"the average is :"<<average<<endl;
for(i=0;i<n;i++)
{
if(max<array[i])
{ max=array[i];
a=i;
}
}
for(i=0;i<n;i++)
{
if(min>array[i])
{ min=array[i];
b=i;
}
}
array[a]=min;
array[b]=max;
}
void main()
{ int b[10]={21,65,43,87,12,84,44,97,32,55};
MOVE m(b,10);
m.print() ;
m.exchange();
cout<<"修改后:"<<endl;
m.print();
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯