Шифр Цезаря: чтобы было еще ключевое слово и возможность дешифрования - C#

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

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

Здравствуйте уважаемые. Написал прогу реализующую шифр Цезаря со смешением. Все работает. Помогите пожалуйста переделать ее так, чтобы было еще ключевое слово и возможность дешифрования.
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 alf = "abcdefghijklmnopqrstuvwxyz";//работаю с английским алфавитом
            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();
        }
    }
}
Ну хоть кто нибудь...

Решение задачи: «Шифр Цезаря: чтобы было еще ключевое слово и возможность дешифрования»

textual
Листинг программы
ch = ch + 1 //ch = 1072 + 1 = 1073 = б

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


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

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

6   голосов , оценка 4.167 из 5
Похожие ответы