Si estás usando 10 elementos lo suyo sería tener:
en vez de:
Además, en C++ existe una cosa llamada bucles que son muy útiles. Te permiten, por ejemplo, evitar repetir código de forma absurda.
Esto:
Código C++:
Ver originalcin >> arbol[1] >> arbol[2] >>arbol[3] >>arbol[4] >>arbol[5] >>arbol[6] >>arbol[7] >>arbol[8] >>arbol[9] >>arbol[10];
Es equivalente a:
Código C++:
Ver originalfor(int i=0;i<10;i++)
cin >> arbol[i];
Existen otras formas mejores de hacerlo, pero saber que los bucles los puedes usar también para esto es un comienzo. Por cierto, el primer elemento del array es
arbol[0], no
arbol[1].
Lo comentado te sirve también para imprimir los valores.
Por otro lado, intercambiar dos valores es tan sencillo o complicado como ejecutar una de estas dos opciones:
Código C++:
Ver originalfloat temp = arbol[i];
arbol[i] = arbol[j];
arbol[j] = temp;
o
Tu estás actualmente haciendo:
Código C++:
Ver originalpolicia=arbol[k];
arbol[k]=menor;
menor=policia;
Es decir,
arbol[k] acaba en
menor en vez de acabar en
arbol[loquesea]
Por cierto, Para qué usas 'k' exactamente? ¿Por qué es un dato que le pides al usuario?