Шифр Цезаря

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by KksMM, 9 Nov 2016.

  1. KksMM

    KksMM New Member

    Joined:
    9 Nov 2016
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, имеется код Шифра Цезаря с ключом, подскажите,как организовать выдачу полного перебора, т.е. чтобы не было ключа и показывало каждый вариант сдвига.

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace cezar
    {
        class Program
        {
            static void Main(string[] args)
            {
                int n = 1, key = 1;
              
                Console.WriteLine("Введите слово,которое нужно зашифровать:");
                string s = Console.ReadLine();
                Console.WriteLine("Введите ключ:");
                key = Convert.ToInt32(Console.ReadLine());
                string s1 = "";
               
                string alfphabet = "АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЪЭЮЯ";
                int m = alfphabet.Length;
                for (int i = 0; i < s.Length; i++)
                {
                    for (int j = 0; j < alfphabet.Length; j++)
                    {
                        if (s[i] == alfphabet[j])
                        {
                            int temp = j * n + key;
                            while (temp >= m)
                                temp -= m;
                            s1 = s1 + alfphabet[temp];
                        }
                    }
                }
                Console.WriteLine("Зашифрованное слово:" + s1);
                Console.ReadLine();
            }
        }
    }