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:
Gracias por su colaboración. #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; }