come da titolo devo scrivere un programma che calcoli la mediana id un array.
Se il numero degli elementi è dispari la mediana si calcola facendo :(n+1)/2.
se invece è pari la mediana si calcola: ((n/2)+(n/2 + 1))/2
ho buttato giu un codice ma praticamente s emetto n giustamente mi calcola la posizione della mediana e non il valore.
Non riesco a calcolare il valore ora vi posto il codice grazie a chi riesci ad aiutarmi.
codice:
#include<iostream>
#define len 20
using namespace std;
int main(){
int n,i;
int a[len];
float med;
cout<<"inserisci il numero degli elementi dell'array"<<endl;
cin>>n;
for(i=0; i<n; i++){
cout<<"inserisic l'elemento "<<i+1<< " del'array:"<<endl;
cin>>a[i];
}
for (i=1; i<n; i++){
med=0;
if (n%2==0){
med=((a[i]/2) + ((a[i]/2) +1))/2;
}
else if(n%2!=0){
med=(a[i]+1)/2;
}
}
cout<<"la media e'"<<med<<endl;
system("pause");
return main ();
}