/*vv.back()把容器尾部数据覆盖,原数据被破坏。 vv.push_back()向容器尾部数据添加一个新的数据,不破坏原数据,数据还在容器中。 vv.size()编译系统中统计容器数据个数的别名。 如有错误,请您指教,在这先谢谢了。 --GodStaff */
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <vector>
using std::vector;
using std::cout;
using std::cin;
using std::endl;
using std::setw;
//函数声明
void intvector(vector< int > & );
void outvector(const vector< int > &);
int main ()
{
int i;
//创建向量容器vv(),v1(),v2();
vector<int> vv(1),v1(1),v2(1);
intvector(vv);//数据输入
vv.back()=0;//因为数据输入时vv.back()为0,所以在此对其进行初始化,作为总和和平均数。
//求和并求平均
for (i=0;i<(vv.size()-1);i++)
vv.back()+=vv[i];
vv.back()= (vv.back()/(vv.size()-2));
//对数据进行分组处理
for (i=1;i<(vv.size()-1);i++)
if (vv.back()>vv[i])
v1.push_back(vv[i]);
else
v2.push_back(vv[i]);
/* 此注释部分可以替换下面的数据输出语句*/
/* for (i=1;i<(v1.size());i++)
cout << v1[i]<< " ";
cout <<endl ;
for (i=1;i<(v2.size());i++)
cout << v2[i]<< " ";
cout <<endl;*/
//数据输出
cout << vv.back()<<endl;
outvector(v1);
outvector(v2);
return 0;
}
//数据输出
void outvector( const vector< int > &array )
{
size_t i;
for ( i = 1; i < array.size(); i++ )
cout << array[ i ]<< " ";
cout << endl;
}
/*原intvector函数
void intvector( vector< int > &array )
{
for ( size_t i = 0; i < array.size(); i++ )
cin >> array[ i ];
}
*/
//主要起数据输入的作用
//根据题的要求,可进行修改
void intvector( vector< int > &array )
{
int temp;
do{
cin >>temp;
array.push_back(temp);
}while (array.back()!=-1);
}
/*后续还会有的哦*/