Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Cambiar y ordenar valores en arreglo

Estas en el tema de Cambiar y ordenar valores en arreglo en el foro de C/C++ en Foros del Web. Que tal necesito ayuda con la manera de que en un arreglo de n elementos los imprima y despues pueda cambiar el valor de uno ...
  #1 (permalink)  
Antiguo 16/09/2014, 23:00
 
Fecha de Ingreso: septiembre-2014
Mensajes: 1
Antigüedad: 10 años, 2 meses
Puntos: 0
Cambiar y ordenar valores en arreglo

Que tal necesito ayuda con la manera de que en un arreglo de n elementos los imprima y despues pueda cambiar el valor de uno de los elementos y ubicarlo en la primera posicion y que los valores se vayan recorriendo

Ejem.
valores de arreglo original 1,2,3,4,5
ingreso el valor 4 y ahora se debe ver asi:
4,1,2,3,4
  #2 (permalink)  
Antiguo 19/09/2014, 12:39
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Cambiar y ordenar valores en arreglo

Al pedir ayuda para la primera parte del ejercicio, la de imprimir el array, da la sensación de que no tienes muy dominado este tema que es fundamental.

Pero bueno, por orientar un poco has de hacer:
1.- Para imprimir: un bucle for desde un indice=0 hasta un indice con valor de una unidad menor al tamaño del array. Esto es así porque un array de tamaño N va desde 0 a N-1 (al contar el 0)

2.- Para buscar el valor dentro del array:, puede venir bien un bucle while que actualice un contador y cuya condición de repetición sea que el valor del indice actual sea diferente al del valor buscado

3.- Para permutar los elementos: Una vez sabida la posición que ocupa el valor en cuestión, hacemos un bucle que vaya desde ese valor hasta 0 (en sentido decreciente). Dentro del bucle asignamos a cada elemento el valor del anterior, hasta llegar al elemento 0, al cual le asignaremos el valor buscado.

Saludos!

Bueno, y el código podría ser algo así:
Partimos de:
Código C++:
Ver original
  1. const int tam=5;
  2.     int numeros[tam]={1,2,3,4,5};

1.- Para imprimir:
Código C++:
Ver original
  1. cout<<"Lista original: ";
  2.     cout<<"[";
  3.     for (int i=0;i<tam;i++)
  4.     {
  5.         cout<<numeros[i];
  6.         if (i<tam-1)cout<<",";
  7.     }
  8.     cout<<"]";
  9.     cout<<endl;

2.- Para buscar la posición del valor dentro del array:
Código C++:
Ver original
  1. cout<<"Elegir valor"<<endl;
  2.     int valor;
  3.     cin>>valor;
  4.     int posicion=0;
  5.     while (numeros[posicion]!=valor)
  6.     {
  7.         posicion++;
  8.     }

3.- Para permutar los valores:
Código C++:
Ver original
  1. for (int i=posicion;i>0;i--)
  2.     {
  3.         numeros[i]=numeros[i-1];
  4.     }
  5.     numeros[0]=valor;

Etiquetas: arreglos, ordenacion, vector
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:39.