Inicio > C y C++ > jose_solor > problemas con vectores

problemas con vectores

Experto:
Usuario:
Fecha: 25/06/2008
Valoración: (4,00 sobre 5) Categoría: C y C++
11/06/2008
nicooo, usuario preguntando en C y C++
Usuario
hola... como va? tengo unos prob para hacer vectores en c...los ejercicios son estos...
-dado un vector devolver el mayor de sus valores
-enotro vector la posicion del mayor de sus valores
- en otro rotar una posicion a la derecha
-rotar una pos a la derecha...
lo que no entiendo es como manejo los valores del vector, se como buscar un mayor y su posicion... pero no entiendo cuando hago el prog donde van los valores y como los modifico... espero respuesta...
24/06/2008
nicooo, experto respondiendo en C y C++
Experto
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..
25/06/2008
nicooo, usuario preguntando en C y C++
Usuario
gracias... fue de gran ayuda
Enlaces patrocinados
Respuestas relacionadas