|
Hola que tal.. Supongo que rotar es mover el valor de una posicion a otra, como te indico en este pequeño vector.
1 2 3 4 5
1 3 2 4 5
Si es este el caso que tu quieres esto lo consigues de una manera muy sencilla. Podemos hacerlo mediante varios metodos de ordenamiento de vectores, en este caso te voy a indicar el mas cencillo llamado burbuja, tiene este nombre porque como las busbujas que se realizan con agua y jabon las mas grandes se van quedando en la parte inferior y las mas pequeñas en la parte superior, utilizando este metodo podemos rotar como tu dices.. Aqui te pongo este pequeño ejemplo.
int a[5];
posicion: a[0] a[1] a[2] a[3] a[4]
valor: 1 2 3 4 5
Ahora si esque queremos cambiar el valor 2 que se encuentra en la posicion a[1],a la posicion a[2], sin perder el valor que se encuentra en la posicion a[2] tenemos que tener una variable auxiliar como te indico a continuacion.
int aux;
aux=a[1]; //la variable aux toma el valor de 2
a[1]=a[2]; //la posicion a[1] toma el valor de la posicion a[2] es decir el valor 3
a[2]=aux; //la posicion a[2] toma el valor de aux es decir 2
De tal manera que el vector que inicialmente fue
posicion: a[0] a[1] a[2] a[3] a[4]
valor: 1 2 3 4 5
Ahora el vector actual queda de la siguiente manera
posicion: a[0] a[1] a[2] a[3] a[4]
valor 1 3 2 4 5
Como podras darte cuenta los valores han cambiado de posicion..
Espero que lo que te acabo de indicar te sirva de ayuda para poder acabar tu programa..
|