Para ello he creado una función que me devuelva el valor máximo del vector, así este elemento ya lo situó como el primer elemento del vector. Luego una acción para intercambiar los elementos en caso que un elemento menor sea menor que un elemento mayor.
Gracias por la ayuda
Código
#include<iostream> #include<vector> using namespace std; int maxim(vector<int>&v){ int i=0,m; while(i<v.size()){ if(v[i]>=v[m]){ m=i; } i++; } return m; } void intercambia(int &a,int &b){ int m=a; a=b; b=m; } void ordena(vector<int>&v){ int m=maxim(v); v[0]=m; for(int i=1;i<v.size();i++){ if(v[i]<v[i+1]){ intercambia(v[i],v[i+1]);} } } int main(){ int n,e; cout<<"introduzca el tamaño del vector"<<endl; cin>>n; vector<int>v(n); for(int i=0;i<n;i++){ cout<<"introduzca el elemento"<<" "<<i<<" del vector"<<endl; cin>>e; v[i]=e; } ordena(v); for(int i=0;i<v.size();i++){ cout<<v[i]<<endl; } system("pause"); return 0;}