Permutació d’un vector

Donat un vector de reals p, fes un procediment amb la següent capçalera:

    	vector<double> permutacio (vector<double>& p)

que calculi una permutació del vector p. Cal fer-ho de la següent
manera:

1.  Calcularem un nombre aleatori amb la funció rand. Aquest nombre ha
    d’estar entre 0 i N − 2, on N és la mida de p. Sigui i = rand().

2.  Intercanviem l’element p_(i) amb l’element p_(N − 1).

3.  Procedim a fer el mateix que en el primer pas, però ara limitem més
    el nombre aleatori, que ha d’estar entre 0 i N − 3, i intercanviarem
    l’element que doni la funció rand() amb l’element p_(N − 2).

4.  Farem això mentre hi hagi elements a intercanviar.

Cal escriure només la funció. El programa principal serà ignorat.
Assumiu que en el programa principal s’ha iniciat la funció srand amb
paràmetre 2.

Entrada

La funció tindrà com a paràmetres un vector de reals: p.

Sortida

Una permutació d’p.

Informació del problema

Autoria: Jaume Baixeries

Generació: 2026-01-25T15:47:43.380Z

© Jutge.org, 2006–2026.
https://jutge.org
