Problemas con vectores

Tengo unos prob para hacer vectores en c... Los ejercicios son estos...
-Dado un vector devolver el mayor de sus valores
-Enotro vector la posición del mayor de sus valores
- En otro rotar una posición a la derecha
-Rotar una pues a la derecha...
Lo que no entiendo es como manejo los valores del vector, se como buscar un mayor y su posición... Pero no entiendo cuando hago el prog donde van los valores y como los modifico...

1 respuesta

Respuesta
1
Supongo que rotar es mover el valor de una posición 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 métodos de ordenamiento de vectores, en este caso te voy a indicar el más sencillo llamado burbuja, tiene este nombre porque como las busbujas que se realizan con agua y jabón las más grandes se van quedando en la parte inferior y las más pequeñas en la parte superior, utilizando este método podemos rotar como tu dices.. Aquí te pongo este pequeño ejemplo.
int a[5];
Posición: a[0] a[1] a[2] a[3] a[4]
valor: 1 2 3 4 5
Ahora si es que queremos cambiar el valor 2 que se encuentra en la posición a[1], a la posición a[2], sin perder el valor que se encuentra en la posición a[2] tenemos que tener una variable auxiliar como te indico a continuación.
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
Posición: 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
Posición: a[0] a[1] a[2] a[3] a[4]
valor 1 3 2 4 5
Como podrás darte cuenta los valores han cambiado de posición..
Espero que lo que te acabo de indicar te sirva de ayuda para poder acabar tu programa..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas