L’ofuscació d’un string s = c1 c2 c3 … ck respecte a un natural n consisteix en canviar tots les lletres ci ∈ s per la lletra que va n llocs després de ci en l’alfabet.
Per exemple, ofuscacio(1,'A') = 'B'
,
perquè la 'B'
va un lloc després de l'A'
.
Uns altres exemples: ofuscacio(4,'B') = 'F'
i
ofuscacio(2,'AB') = 'CD'
.
Cal implementar la funció recursiva
void ofuscacio(int n, string s)
amb la següent especificació:
PRE:
L’entrada és un enter n tal que 0 ≤ n ≤ 20
i una cadena de caràcters s = c1 c2 c3 … ck tal que k > 0 i
∀ ci ∈ s, ′A′ ≤ ci ≤ ′F′.
POST:
escriu pel canal de sortida cout
l’ofuscació
de la cadena de caràcters s respecte d’n.
Observació
Si calgués, podeu fer servir el mètode pop_back()
per a vectors i string
.
Només s’accepten solucions recursives.
Només cal que envieu la funció. La resta no es tindrà en compte.
Entrada
Un enter n tal que 0 ≤ n ≤ 20 i una cadena de caràcters s = c1 c2 c3 … ck tal que k > 0 i ∀ ci ∈ s, ′A′ ≤ ci ≤ ′F′.
Sortida
Per cada parell n, s
, l’ofuscació d’s
respecte d’n
.
Input/Output