Ordena Cremallera Y28306


Statement
 

pdf   zip   main.cc

thehtml

Un vector cremallera és un vector de longitud 2n, essent n > 0, tal que els elements estan entrellaçats de la forma

x1, y1, x2, y2, …, xn, yn

Tant la seqüència d’elements xi com yi són estrictament creixents. És a dir, xi < xi+1 i yi < yi+1, amb 1 ≤ i < n.

Cal implementar la funció ordena_cremallera amb la següent especificació:

/**
 * @brief  Ordena un vector "cremallera" format per elements 
 *         entrellaçats, retornant el vector resultat.
 * 
 * @returns  Un vector amb els elements ordenats de menor a major.
 * 
 * @pre   v = {x_1, y_1, x_2, y_2, ..., x_n, y_n}, n > 0. 
 *        x_i < x_{i+1}, y_i < y_{i+1}, per a tot i.
 */
vector<double> ordena_cremallera(const vector<double>& v);

Observació

Cal enviar la funció ordena_cremallera, amb #includes i funcions auxiliars, si cal, però sense main. Si descarregueu l’arxiu main.cc de la icona ".CPP", podeu esborrar (o comentar amb /* i */) les funcions main i llegeix_vector.

Entrada

Una seqüència de vectors cremallera, cadascun en una línia, i amb un enter al principi de la línia indicant-ne la longitud.

Sortida

El vector resultant de la ordenació, en una línia i amb espais entre els elements.

Sample session
Entrada: 6  1 2 4 3 7 6
Sortida: 1 2 3 4 6 7

Entrada: 4  1 3 2 4
Sortida: 1 2 3 4

Entrada: 10  0 3 1 4 2 5 3 6 4 7
Sortida: 0 1 2 3 3 4 4 5 6 7
Information
Author
PRO1
Language
Catalan
Official solutions
C++
User solutions
C++