Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. Si realizzi un programma che sia in grado di cifrare e decifrare delle stringhe.
  2.  
  3. Il programma riceve in input una stringa di lunghezza massima 12 caratteri e composta di sole lettere minuscole.
  4.  
  5. Per codificare la stringa si procede nel seguente modo:
  6.  
  7. 1) La stringa viene invertita (ad esempio “parola” diventa “alorap”);
  8.  
  9. 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’.
  10.  
  11. Per decodificare si effettuano le operazioni inverse in ordine inverso, cioè:
  12.  
  13. - Ad ogni lettera in posizione dispari nel vettore si sostituisce la lettera immediatamente successiva nel’ordine alfabetico (“bkpqbo” diventa “blprbp”);
  14.  
  15. - Ad ogni lettera in posizione pari nel vettore viene sostituita la lettera immediatamente precedente nell’ordine alfabetico (ad esempio “blprbp” diventa “alorap”);
  16.  
  17. - La stringa viene invertita (ad esempio “alorap” diventa “parola”);
  18.  
  19.  
  20.  
  21. Per risolvere il problema realizzare le seguenti funzioni:
  22.  
  23. - input, che prende in input una stringa verificando che non superi la lunghezza stabilita e che contenga solo lettere minuscole;
  24.  
  25. - inverti, che inverte la stringa (funzione necessaria sia per la codifica che per la decodifica).
  26.  
  27. - codifica, che esegue le operazioni necessarie per la codifica;
  28.  
  29. - decodifica, che esegue le operazioni necessarie per la decodifica;
  30.  
  31. - 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.
  32.  
  33. ---------------------------------------------------------------------------------------------------------------------------------
  34.  
  35. Esempi
  36.  
  37. Inserisci la stringa :
  38.  
  39. parolatroppolunga
  40.  
  41. La stringa non e' valida
  42.  
  43. Inserisci la stringa :
  44.  
  45. c0nnumer1
  46.  
  47. La stringa non e' valida
  48.  
  49. Inserisci la stringa :
  50.  
  51. esame
  52.  
  53. La stringa invertita e' :emase
  54.  
  55. la stringa codificata e' flbrf
  56.  
  57. La stringa invertita e' :esame
  58.  
  59. La stringa decodificata e' esame
  60.  
  61.  
  62.  
  63. --------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement