C/Visual C - vector..ayuda urgenteee

   
Vista:

vector..ayuda urgenteee

Publicado por jorge (13 intervenciones) el 12/09/2007 21:45:16
necesito copiar un vector en otro pero de forma inversa
ej

Ej: | 1 | 2 | 3 | 4 | 5 | --> Vector ingresado por el usuario
| 5 | 4 | 3 | 2 | 1 | --> Vector Nuevo
y luego...
Mostrar los numeros del nuevo vector
de la siguiente forma:
Primero el ultimo numero a la derecha,
luego el primero a la izquierda,
hasta llegar al centro

Ej: | 1 | 2 | 3 | 4 | 5 |

Salida : 5,1,4,2,3
porfavor ayuda urgente...
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:vector..ayuda urgenteee

Publicado por Nelek (818 intervenciones) el 13/09/2007 08:43:00
lo de copiar el vector a la inversa se hace cambiando los parametros del for.
si tu lo rellenas con:

for (int i = 0; i < limite; i++)

lo recorres a la inversa con:

for (int = limite - 1; i >= 0; i--)

lo unico que tienes que tener en cuenta es que necesitas otro contador para copiarlo en otro sitio de manera ascendente. Es decir:

int j = 0;
for (int = limite - 1; i >= 0; i--)
nuevo [j] = viejo [i];

para lo otro se puede usar dos variantes, un contador que aumentas de uno en uno, pero divides por dos para usarlo a cada lado. O dos contadores que se usan normal y corriente, pero que solo aumentan cuando se les ha usado.

variante 1:
for (int k = 0; k < limite; k++)
{
if (k % 2) //Si es un numero impar
printf (vector [k / 2]);
else //Si es par o 0
printf (vector [limite - (k / 2)];
}


Nota: Te he dado una solucion, pero has de corregir y completar la "semantica" del programa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar