Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Incomprensioni terzo esercizio homework

francesco.dev (33560 points)
21 51 129
in Es3 by (33.6k points)
closed by
Ciao a tutti e buona sera!

Leggendo la traccia del terzo esercizio non ho ben capito cosa ci chiede:
Ho capito che bisogna togliere tutti i caratteri non presenti nel range a:z, ma poi non ho ben capito il seguito dell'esercizio, ovvero quello in cui si parla di eliminare le ricorrenze e di associare ogni lettera della chiave ad una lettera del messaggio.

Se qualcuno o il professore stesso potesse aiutarmi ed aiutare chiunque si trovi nella mia situazione, anche attraverso esempi cosicché da poter capire al 100% tale quesito.

Grazie in anticipo!
- Francesco Pio Scognamiglio
297 views
closed with the note: answered

1 Answer

Best answer
V
Vlad (4580 points)
2 14 24
by (4.6k points)
selected by
Buongiorno
Ora non ho modo di vedere il testo dell'esercizio, però credo di ricordarmi bene il procedimento

Ci sono due fasi: costruire la chiave, usare la chiave per codificare / decodificare

Come si crea la chiave a partire dalla stringa fornita in input :
Come hai detto anche tu innanzitutto si rimuovono tutti i caratteri che non sono lettere minuscole.

Poi bisogna fare in modo che rimanga una sola ricorrenza di ogni lettera, e deve essere per forza l'ultima presente nella stringa
es: se la stringa fosse ' abaca' noi alla fine di questo passaggio ci troviamo 'bca'

Poi questa stringa va ordinata (ma non perdiamola perché ci serve nel passaggio successivo ) quindi avremo poi 'abc'

Ora bisogna fare l'associazione tra la stringa non ordinata e quella ordinata.
Si creano delle "coppie associate " in base alle lettere presenti nelle due stringhe (non ordinata e ordinata): la prima lettera non ordinata va con la prima ordinata, la seconda con la seconda e così via.
Nel nostro caso 'bca' > 'abc' : b>a , c>b, a>c

Queste sono le associazioni che dovremo usare per la codifica della stringa: quando nella stringa da codificare trovi una b essa deve diventare una a, se trovi una c diventa b, la a diventa c. Tutti gli altri caratteri rimangono invariati.

Per la decodifica le coppie rimangono le stesse ma si inverte il "senso":
Codifica : b>a , c>b, a>c
Decodifica : a>b, b>c, c>a

Spero di non essermi dimenticato nulla (e di aver capito bene la traccia ahah ) , fammi sapere se c'è qualcosa che non torna
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Ottima risposta! Grazie mille per l'aiuto!