|
|
Hola que tal.. Supongo que [b]rotar [/b]es [b]mover[/b] el valor de una posicion a otra, como te indico en este pequeño vector.
1 [b]2[/b] 3 4 5
1 3 [b]2[/b] 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 [b]burbuja[/b], 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 [b]rotar [/b]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 [b]2[/b] que se encuentra en la posicion [b]a[1][/b],a la posicion [b]a[2][/b], sin perder el valor que se encuentra en la posicion [b]a[2][/b] tenemos que tener una variable auxiliar como te indico a continuacion.
int aux[b];[/b]
aux=a[1]; //la variable [b]aux[/b] toma el valor de [b]2[/b]
a[1]=a[2]; //la posicion [b]a[1][/b] toma el valor de la posicion [b]a[2][/b] es decir el valor [b]3[/b]
a[2]=aux; //la posicion [b]a[2] [/b]toma el valor de [b]aux [/b]es decir [b]2[/b]
De tal manera que el vector que inicialmente fue
posicion: a[0] a[1] a[2] a[3] a[4]
valor: 1 [b]2[/b] 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 [b]2[/b] 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..
|