Buenos dias
Resulta que tengo un ejersicio de ordenar un vector en el cuál el valor menor quede een la primera posición y el que estaba en la primera posición moverlo a la posición donde estaba el menor, es decir intercambiarlos. He logrado poner el menor en la posición menor, pero no logro mover el que allí estaba a la posición donde estaba el menor. El código es:
Código:
#include <iostream>
using namespace std;
int main(void)
{
float arbol[999];
int k,posicion_men;
float policia,menor;
cin >> arbol[1] >> arbol[2] >>arbol[3] >>arbol[4] >>arbol[5] >>arbol[6] >>arbol[7] >>arbol[8] >>arbol[9] >>arbol[10];
cin >> k;
cout << arbol[1] << " " << arbol[2] <<" " <<arbol[3] <<" " <<arbol[4] <<" " <<arbol[5] <<" " <<arbol[6] <<" " <<arbol[7] <<" " <<arbol[8] <<" " <<arbol[9] <<" " <<arbol[10]<< endl;
menor=arbol[k];
posicion_men=k;
for(int i=k;i<=10;i=i+1)
{
if(arbol[i]<=menor)
{
menor=arbol[i];
posicion_men=i;
}
}
policia=arbol[k];
arbol[k]=menor;
menor=policia;
cout << arbol[1] << " " << arbol[2] <<" " <<arbol[3] <<" " <<arbol[4] <<" " <<arbol[5] <<" " <<arbol[6] <<" " <<arbol[7] <<" " <<arbol[8] <<" " <<arbol[9] <<" " <<arbol[10] ;
return 0;
}
Gracias por su colaboración.