Dev - C++ - ordenamiento de vector segun el orden de otro vector

 
Vista:

ordenamiento de vector segun el orden de otro vector

Publicado por Araceli (1 intervención) el 23/05/2017 02:35:34
Por favor necesito ayuda para resolver el siguiente ejercicio:
Leer en dos vectores V y W una serie de N números enteros positivos, siendo (1 <= N <=
100) y (1 <= Vi, Wi <= 1000 para todo i = 1, 2, ..., N).
Luego ordenar los elementos del vector W de manera tal que en la mayoría de los casos el
valor Wi sea mayor al elemento Vi (imprimir ambos vectores).
Finalmente contar e imprimir el número de veces que se cumple la condición (Wi > Vi)
si se ingresa:
Vector V: 5 7 3 4
Vector W: 8 5 4 2
tendria que mostrar:
Vector V: 5 7 3 4
vector W:3 8 4 5
Asi se cumple la mayor cant de veces la condicion wi>Vi, en este caso 3
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
Imágen de perfil de Leonardo
Val: 26
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ordenamiento de vector segun el orden de otro vector

Publicado por Leonardo (11 intervenciones) el 25/05/2017 19:58:47
Primero una observación en la respuesta del ejemplo el vector W el primer valor debe ser 2 y NO 3 como dice.
No tengo tiempo para programarlo aunque me gustaría pero le voy a ayudar con el algoritmo(lo más complejo)

1-Crear 3 vectores más Vc, Wc, Wo
con el siguiente uso:
Vc, Wc copias de los originales V y W respectivamente que serán ordenados posteriormente
Wo vector ya ordenado de W según orden de V
2-Ordenar ascendentemente a Vc y Wc
3-Repetir N veces desde N-1 hasta 0
3.1-tomar el último Wc X=Wc[N]
3.2-Recorrer Vc desde atrás hacia adelante hasta encontrar Y=Vc[i]<X
si lo encuentra
-contarlo C++
sino hacer Y=Vc[N]
3.3 Poner X en la posición corresp de Y en V en Wo(para esto buscar Y en V)
3.4 Eliminar Y de Vc
Fin Repetir
4-Imprimir resultados Wo y C

Estoy enfrascado en un sistema para cobrar y eso me ocupa bastante tiempo, sino le ayudaría.
Espero le sirva el seudo código que le expuse y me tomó algo de tiempo pués en realidad es algo complejo.
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