Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Шифрование / Перестановочный шифр - Алфавитный ключ

  • На этом уроке мы напишем функцию getAbc(),
    которая будет сортировать буквы ключа по алфавиту.
    Причём перестановки делать вместе с целым массивом.
  • Дата отправки отчёта: 31 марта 2017 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Не, не научился. сейчас попробую справочник подключить к процессу :0
  • Что было сложным: Вот она, строчка-злодейка:
    key = key.Remove(b, 2).Insert(b, key.Substring(b + 1, 1)).Insert(b + 1, key.Substring(b, 1));
  • Комментарии: Специально в скрине оставил поле с ошибкой. Может кто подскажет, почему так.
    В начале кода стоит:
      public partial class FormShifr1 : Form
        {

            int[] abc;

            public FormShifr1()
    abc подчеркнуто зеленым и при запуске программы вылезает ошибка, что abc нигде не используется. При этом код ниже:
    private string GetAbc(string key)
            {
                int[] abc = new int [key.Length];
                for (int j = 0; j < abc.Length; j++)
                    abc[j] = j;
                for (int i = 0; i < key.Length; i++)
                    for (int b = 0; b < key.Length - i - 1; b++)
                        if (key[b] > key[b + 1])
                        {
                            key = key.Remove(b, 2).Insert(b, key.Substring(b + 1, 1)).Insert(b + 1, key.Substring(b, 1));
                            int x = abc[b];
                            abc[b] = abc[b + 1];
                            abc[b + 1] = x;
                        }
    То есть это самое abc очень популярно, почему же оно "нигде не используется"?
  • Оценка видео-уроку:
Отчёт от 11165 за Шифрование / Перестановочный шифр - Алфавитный ключ




Оцени работу

 
Сохранить страницу:

3922. --
Александр
Александр
ответить
→  Сергей Д.  # Шифрование / Перестановочный шифр - Алфавитный ключ / 2017-03-31 16:49

Сергей, смотри! В строке
int[] abc = new int [key.Length];
ты создаёшь новую переменную abc, которая видна только внутри метода. А та переменная, которая создана на уровне класса, осталось не задействованной и для того, что бы использовать именно её, тебе нужно записать строчку вот так:
abc = new int [key.Length];


11165. --
Сергей Д.
Сергей Д.
ответить
→  Александр  # Шифрование / Перестановочный шифр - Алфавитный ключ / 2017-03-31 17:58

Александр, огромное спасибо. Я ваш совет унес к себе в запоминалку.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Сергей Д.  # Шифрование / Перестановочный шифр - Алфавитный ключ / 2017-03-31 21:54

Александр всё верно написал, если бы не он, я бы написал тоже самое.


10309. --
Станислав
Станислав
ответить
→  Сергей Д.  # Шифрование / Перестановочный шифр - Алфавитный ключ / 2017-04-01 15:36

Области видимости надо прокачать)


10558. --
Иван Воронин
Иван Воронин
ответить
→  Станислав  # Шифрование / Перестановочный шифр - Алфавитный ключ / 2017-04-01 15:59

Вспомнился фильм: "Области тьмы" =)



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Повторил некоторые знания.
Трудности: Самое сложное было отсортировать по-нормальному. Намучился с этим - капееец.
Утомился с этой дурацкой сортировкой. Начинаю склоняться к мысли, что метод автора хоть и выглядит как то жутко и непонятно, но всё же лучше, чем мой, который понятный но в котором 3 абзаца вместо строки..


Научился: Делать перестановки вкупе с массивом.
Трудности: Не запутаться в записи замены символов местами.
Интересно.