На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Обратный Шифр Цезаря С#

Задание

Шифр Цезаря один из наиболее древнейших известных шифров. Схема шифрования очень проста - используется сдвиг буквы алфавита на фиксированное число позиций влево. Например, если сдвиг равен трем, то буква A заменяется на D, а буква z - на c. Вам дана зашифрованная строка s, состоящая только из латинских букв и пробелов и число K, на которое были сдвинуты буквы алфавита при шифровании.

Ограничения на ввод

В первой строке записано одно целое число K (|K| ⩽ 105). Во второй строке записана одна строка s, состоящая только из больших и маленьких латинских букв и пробелов.

Длина строки не превосходит 106.

Фрагмент программного кода

            for (int i = 0; i < s.Length; i++)                                     // Сравниваем каждый символ строки
            {
                if (simb.Contains(s[i]))                                           // Если символ из строки есть в списке, то просто добавляем его
                    rez += s[i];
                else
                {
                    if (s[i] >= min_A && s[i] <= max_Z)                            // Если буква заглваная
                    {
                        if ((int)(s[i] - k) < min_A)                               // Если смещение выходит за границы A..Z
                        {
                            rez += (char)(max_Z - (k - ((int)s[i] - min_A + 1)));
                        }
                        else rez += (char)(int)((s[i]) - k);                       // Если нет, то добавляем заглавную букву
                    }
                    if (s[i] >= min_a && s[i] <= max_z)                            // Если буква строчная
                    {
                        if ((int)(s[i] - k) < min_a)                               // Если смещение выходит за границы a..z
                        {
                            rez += (char)(max_z - (k - ((int)s[i] - min_a + 1)));
                        }
                        else rez += (char)(int)((s[i]) - k);                       // Если нет, то добавляем строчную букву
                    } 
                }

            }

Скриншот архива с проектом

Стандартный ввод:

  • 15

   Xi xh ktgn wpgs egdqatb

  • 12

   Eaxhq Uf Iuft Rudq

  • 3

   Yhql ylgl ylfl Veni vidi vici

Стандартный вывод:

  • It is very hard problem
  • Solve It With Fire
  • Veni vidi vici
Купить 300,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

300,00 

Покупается впервые!
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

CaesarСipher.rar
34114
Оцени работу

рейтинг

Обратный Шифр Цезаря С#
В данной работе представлен алгоритм расшифровки сообщения Цезаря путём сдвига букв на k позиций.
Категория: Образование
Стоимость: 300,00