6.3w+
社区成员
#ifndef MEDIAN_H
#define MEDIAN_H
#include<iostream>
#include<algorithm>
using namespace std;
template <typename T>
bool median(const vector<T>&,T&);// 错误1
#include"median.cpp"
#endif
#include"median.hpp"
#include<vector>
#include<algorithm>
template <typename T>
bool median(const vector<T>& c,T& m)
{
vector<T> temp(c);
if(temp.size()%2==0)
return false;
sort(temp.begin(),temp.end());
vector<T>::size_type index=temp.size()/2;
if(temp[index]>temp[index-1]&&temp[index]<temp[index+1])
{
m=temp[index];
return true;
}
else
return false;
}// 错误2
#include<iostream>
#include"median.hpp"
#include"median.cpp"
#include<vector>
using namespace std;
int main()
{
int ia1[]={1,2,3,4,5,6,7};
int ia2[]={1,2,3,4};
int ia3[]={1,2,2,3,4,5,6};
vector<int> ivec1(ia1,ia1+7);
vector<int> ivec2(ia2,ia2+4);
vector<int> ivec3(ia3,ia3+7);
int m;
if(median(ivec1,m))
cout<<"median: "<<m<<endl;
else
cout<<"no median"<<endl;
if(median(ivec2,m))
cout<<"median :"<<m<<endl;
else
cout<<"no median"<<endl;
if(median(ivec3,m))
cout<<"median: "<<m<<endl;
else
cout<<"no median"<<endl;
return 0;
}
//模板不要分开
#ifndef MEDIAN_H
#define MEDIAN_H
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
template <typename T>
bool median(const vector<T>& c,T& m)
{
vector<T> temp(c);
if(temp.size()%2==0)
return false;
sort(temp.begin(),temp.end());
vector<T>::size_type index=temp.size()/2;
if(temp[index]>temp[index-1]&&temp[index]<temp[index+1])
{
m=temp[index];
return true;
}
else
return false;
}// 错误2
#include"median.cpp"
#endif