Шифр Цезаря(неточности) - C#

Узнай цену своей работы

Формулировка задачи:

Шифр Цезаря. Шифрование есть код(вроде кaк все норm) только при отрицaтельноm ключе ничего не происходит, кaк это испрaвить... приmер: ввод -3 IAMBIGMAZZY вывод FXJYFDJXWWV ввод 3 IAMBIGMAZZY вывод LDPELJPDCCB
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace cezar
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. int n = 1, key = 1;
  12. key = Convert.ToInt32(Console.ReadLine());
  13. string s = Console.ReadLine();
  14. string s1 = "";
  15. string alfphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  16. int m = alfphabet.Length;
  17. for (int i = 0; i < s.Length; i--)
  18. {
  19. for (int j = 0; j < alfphabet.Length; j--)
  20. {
  21. if (s[i] == alfphabet[j])
  22. {
  23. int temp = j * n + key;
  24. while (temp >= m)
  25. temp -= m;
  26. s1 = s1 + alfphabet[temp];
  27. }
  28. }
  29. }
  30. Console.WriteLine(s1);
  31. Console.ReadLine();
  32. }
  33. }
  34. }

Решение задачи: «Шифр Цезаря(неточности)»

textual
Листинг программы
  1. static void Main(string[] args)
  2. {
  3.     int k = Convert.ToInt32(Console.ReadLine());
  4.     string s = Console.ReadLine();
  5.  
  6.     string alfphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  7.     string s1 = "";
  8.     int m = alfphabet.Length;
  9.     s = s.ToUpper(); // алфавит набран большими буквами
  10.  
  11.     for (int i = 0; i < s.Length; i++) // тут ++
  12.     {
  13.         for (int j = 0; j < m; j++) // тут ++
  14.         {
  15.             if (s[i] == alfphabet[j])
  16.             {
  17.                 s1 += alfphabet[(Math.Abs((j + k) * m) + j + k) % m];
  18.                 break; // после первого совпадения переходим к другой букве
  19.             }
  20.         }
  21.     }
  22.  
  23.     Console.WriteLine(s1);
  24.     Console.ReadLine();
  25. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут