Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Si realizzi un programma che sia in grado di cifrare e decifrare delle stringhe.
- Il programma riceve in input una stringa di lunghezza massima 12 caratteri e composta di sole lettere minuscole.
- Per codificare la stringa si procede nel seguente modo:
- 1) La stringa viene invertita (ad esempio “parola” diventa “alorap”);
- 2) Ad ogni lettera in posizione pari nel vettore viene sostituita la lettera immediatamente successiva nell’ordine alfabetico mentre ad ogni lettera in posizione dispari nel vettore viene sostituita la lettera immediatamente precedente nel’ordine alfabetico (ad esempio “alorap” diventa “bkpqbo” avendo sostituito alle lettere ‘a’, ‘o’, ‘a’ le loro successive ‘b’, ‘p’, ‘b’ e alle lettere ‘l’, ‘r’, ‘p’ le loro precedenti ‘k’, ‘q’, ‘o’. Si assume che la lettera successiva alla ‘z’ sia la ‘a’ e che la lettera precedente la ‘a’ sia la ‘z’.
- Per decodificare si effettuano le operazioni inverse in ordine inverso, cioè:
- - Ad ogni lettera in posizione dispari nel vettore si sostituisce la lettera immediatamente successiva nel’ordine alfabetico (“bkpqbo” diventa “blprbp”);
- - Ad ogni lettera in posizione pari nel vettore viene sostituita la lettera immediatamente precedente nell’ordine alfabetico (ad esempio “blprbp” diventa “alorap”);
- - La stringa viene invertita (ad esempio “alorap” diventa “parola”);
- Per risolvere il problema realizzare le seguenti funzioni:
- - input, che prende in input una stringa verificando che non superi la lunghezza stabilita e che contenga solo lettere minuscole;
- - inverti, che inverte la stringa (funzione necessaria sia per la codifica che per la decodifica).
- - codifica, che esegue le operazioni necessarie per la codifica;
- - decodifica, che esegue le operazioni necessarie per la decodifica;
- - main, che chiede la stringa in input, la codifica, stampa la versione codificata, prova a decodificarla e stampa a video la stringa decodificata che deve essere ovviamente uguale a quella iniziale.
- ---------------------------------------------------------------------------------------------------------------------------------
- Esempi
- Inserisci la stringa :
- parolatroppolunga
- La stringa non e' valida
- Inserisci la stringa :
- c0nnumer1
- La stringa non e' valida
- Inserisci la stringa :
- esame
- La stringa invertita e' :emase
- la stringa codificata e' flbrf
- La stringa invertita e' :esame
- La stringa decodificata e' esame
- --------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement