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

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

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

Шифр Цезаря. Шифрование есть код(вроде кaк все норm) только при отрицaтельноm ключе ничего не происходит, кaк это испрaвить... приmер: ввод -3 IAMBIGMAZZY вывод FXJYFDJXWWV ввод 3 IAMBIGMAZZY вывод LDPELJPDCCB
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;
            key = Convert.ToInt32(Console.ReadLine());
            string s = Console.ReadLine();
            string s1 = "";
            string alfphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            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
Листинг программы
static void Main(string[] args)
{
    int k = Convert.ToInt32(Console.ReadLine());
    string s = Console.ReadLine();
 
    string alfphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    string s1 = "";
    int m = alfphabet.Length;
    s = s.ToUpper(); // алфавит набран большими буквами
 
    for (int i = 0; i < s.Length; i++) // тут ++
    {
        for (int j = 0; j < m; j++) // тут ++
        {
            if (s[i] == alfphabet[j])
            {
                s1 += alfphabet[(Math.Abs((j + k) * m) + j + k) % m];
                break; // после первого совпадения переходим к другой букве
            }
        }
    }
 
    Console.WriteLine(s1);
    Console.ReadLine();
}

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


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

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

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