برنامه ای برای محاسبه ی میانه ی داده ها
این برنامه رو برای بدست اوردن میانه ی داده ها نوشتم طوری که اول به روش بازگشتی اونارو مرتب می کنه بعد میانه رو پیدا می کنه اما موقع اجرا برنامه ارور می ده. کسی می تونه راهنماییم کنه؟؟
کد:
#include<iostream.h>
#include<conio.h>
int a[20];
void replace(int m, int n)
{
int t;
t=a[m];
a[m]=a[n];
a[n]=t;
}
float g(int f, int e)
{
int i, min, max;
if(f>=e)
return (float)(a[e]+a[f])/2;
else
{
max=f;
for(i=f+1;i<=e;i++)
if(a[i]>a[max]) max=i;
if(max!=e) replace(e,max);
min=f;
for(i=f+1;i<=e;i++)
if(a[i]<a[min]) min=i;
if(min!=f) replace(min,f);
return g(f++,e--);
}
}
main()
{
int n, i;
cout<<"enter number of ur data:\n";
cin>>n;
for(i=0;i<n;cin>>a[i],i++);
cout<<"\n"<<g(0,n);
getch();
}