querría hacer un programa que dado un vector me calculara la mediana.
Si el tamaño del vector es impar la mediana es el valor (N+1)/2.
Si el tamaño del vector es par la mediana será el promedio de el término que ocupa el lugar N/2 con el término que ocupa el lugar (N/2)+1; es decir (N/2+((N/2)+1))/2
He intentado hacerlo, si pudierais corregir me.
Código:
#include <iostream>
#include<vector>
using namespace std;
double mediana(vector<int>v, double me){
int i;
for(i=0;i<v.size();i++){
if (v.size()%2==0){
me=v[i]/2;}
else {me=(v[i]/2+(v[i+1]))/2;}}
return me;
}
int main(){
int n,i,e;
cout << endl << "Entra el número de elementos del vector...";
cin >> n;
vector<int> v(n);
for(i=1;i<n;i++){
cout << "Entra el elemento " << i << " del vector...";
cin >> e;
v[i] = e;}
cout <<mediana(v)<<endl;
system ("pause");
return 0;
}