Advertisement
giganciprogramowania

l12 cezar

Apr 13th, 2023
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. static void Main(string[] args)
  2. {
  3. Console.WriteLine("Wybierz akcję:\n1.Szyfrowanie \n2.Deszyfrowanie");
  4. int wybor= int.Parse(Console.ReadLine());
  5.  
  6. Console.WriteLine("Podaj tekst");
  7. string tekst = Console.ReadLine();
  8.  
  9. Console.WriteLine("Wprowadź klucz (1-31)");
  10. int klucz = int.Parse(Console.ReadLine());
  11. if (klucz < 0)
  12. {
  13. klucz = 0;
  14. }
  15.  
  16. if (wybor == 1)
  17. {
  18. string tekstZaszyfrowany = Szyfrowanie(tekst, klucz);
  19. Console.WriteLine($"Tekst zaszyfrowany: {tekstZaszyfrowany}");
  20. }
  21. else
  22. {
  23. string tekstOdszyfrowany = Deszyfrowanie(tekst, klucz);
  24. Console.WriteLine($"Tekst odszyfrowany: {tekstOdszyfrowany}");
  25. }
  26.  
  27. Console.ReadLine();
  28.  
  29. }
  30. public static string Szyfrowanie(string tekst, int zmiana)
  31. {
  32. string alfabet = "aąbcćdeęfghijklłmnńoóprsśtuwyzżź";
  33. string tekstNieJawny = "";
  34.  
  35. for (int licznik = 0; licznik < tekst.Length; licznik++)
  36. {
  37.  
  38. char znak = tekst[licznik];
  39.  
  40. int numerZnaku = alfabet.IndexOf(znak);
  41.  
  42. if (numerZnaku == -1)
  43. {
  44. tekstNieJawny += znak;
  45. }
  46. else
  47. {
  48.  
  49. int nowyNumerZnaku = (numerZnaku + zmiana) % alfabet.Length;
  50. char nowyZnak = alfabet[nowyNumerZnaku];
  51. tekstNieJawny += nowyZnak;
  52. }
  53. }
  54.  
  55. return tekstNieJawny;
  56. }
  57.  
  58. public static string Deszyfrowanie(string tekst, int zmiana)
  59. {
  60. string alfabet = "aąbcćdeęfghijklłmnńoóprsśtuwyzżź";
  61. string tekstNieJawny = "";
  62.  
  63. for (int licznik = 0; licznik < tekst.Length; licznik++)
  64. {
  65.  
  66. char znak = tekst[licznik];
  67.  
  68. int numerZnaku = alfabet.IndexOf(znak);
  69.  
  70. if (numerZnaku == -1)
  71. {
  72. tekstNieJawny += znak;
  73. }
  74. else
  75. {
  76. int nowyNumerZnaku = (numerZnaku + (alfabet.Length-zmiana)) % alfabet.Length;
  77. char nowyZnak = alfabet[nowyNumerZnaku];
  78. tekstNieJawny += nowyZnak;
  79. }
  80. }
  81.  
  82. return tekstNieJawny;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement