Реализовать шифрование на основе пользовательского алфавита - C#

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

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

Напишите подпрограммы Encode (зашифровать) и Decode (расшифровать), которые получают два параметра str и alpha типа string. В первом параметре задается слово, подлежащее шифрованию (расшифровке), второй представляет собой некоторую перестановку 26 латинских букв алфавита. Принцип преобразования для шифрации состоит в следующем. Если некоторая буква в str является k–ой буквой в обычном алфавите, то вместо нее должна быть взята буква из k–ой позиции "нового" алфавита alpha. Для подпрограммы дешифровки используется обратный принцип.

Решение задачи: «Реализовать шифрование на основе пользовательского алфавита»

textual
Листинг программы
using System;
 
class Test
{
    static string alphabet = "abcdefghijklmnopqrstuvwxyz";
 
    static string Encode(string str, string alpha) {
        string result = String.Empty;
 
        for ( int i = 0; i < str.Length; i++ ) {
            if ( alphabet.IndexOf(str[i]) != -1 ) {
                result += alpha[alphabet.IndexOf(str[i])];
            } else {
                result += str[i];
            }
        }
 
        return result;
    }
 
    static string Decode(string str, string alpha) {
        string result = String.Empty;
        
        for (int i = 0; i < str.Length; i++) {
            if ( alphabet.IndexOf(str[i]) != -1 ) {
                result += alphabet[alpha.IndexOf(str[i])];
            } else {
                result += str[i];
            }
        }
 
        return result;
    }
 
    static void Main() {
        Console.WriteLine(Encode("hello world", "qwertyuiopasdfghjklzxcvbnm"));
        Console.WriteLine(Decode("itssg vgksr", "qwertyuiopasdfghjklzxcvbnm"));
    }
}

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


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

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

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