======================
以下代码已经调通,编译通过,
相关改的地方已经用/////////////////在后面标注了:
#include
#include
using namespace std;
#define k 10
class filter{
private:
int n;
float *m;
public:
float zz(int c,float *d ){
n=c;
m=d;
zzz( n, m);
return 1; /////////////////
}
private:
float zzz(int n, float *m){
{
//float g=0; /////////////////
//float s=0; /////////////////
int g=0;
int s=0;
for(int i=0;i
//if *(m+g)<*(m+i) /////////////////
//g=i; /////////////////
//if *(m+s)>*(m+i) /////////////////
//s=i; /////////////////
if( m[g]
}
*(m+g)=0;
*(m+s)=0;
for(i=0;i
s=s/(n-2);
return s;
}
}
};
void main(){
filter f1;
int i;
float a[k];
for (i=0;i
cout<<"enter ten number"<cin>>a[i];
cout<
}
}
一点注意:
float zz(int c,float *d )
上面这个函数之前没有返回值,我强制给返回了1,你看看按照你的设计,改一下
#include
#include
using namespace std;
#define k 10
class filter{
private:
int n;
float *m;
public:
float zz(int c,float *d ){
n=c;
m=d;
return zzz( n, m);//该函数有返回值
}
private:
float zzz(int n, float *m){
{
int g=0;//指针的增量只能是整形
int s=0;//指针的增量只能是整形
for(int i=0;i
g=i;
if (*(m+s)>*(m+i))
s=i;
}
*(m+g)=0;
*(m+s)=0;
for(i=0;i
s=s/(n-2);
return s;
}
}
};
void main(){
filter f1;
int i;
float a[k];
for (i=0;i
cout<<"enter ten number"<cin>>a[i];
cout<
}
}
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
指针有问题
#include
#include
using namespace std;
#define k 10
class filter{
private:
int n;
float *m;
public:
float zz(int c,float *d ){
n=c;
m=d;
zzz( n, m);
}
private:
float zzz(int n, float *m){
{
float g=0;
float s=0;
for(int i=0;i
g=i;
if (&*(m+s)>&*(m+i) )
s=i;
}
&(*(m+g)=0;
&(*(m+s))=0;
for(i=0;i
s=s/(n-2);
return s;
}
}
};
void main(){
filter f1;
int i;
float a[k];
for (i=0;i
cout<<"enter ten number"<cin>>a[i];
cout<
}
}