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

Формула программиста
основатель — Волосатов Евгений Витольдович
Большой Новогодний подарок от Игромистра
Безденежный доступ к видеокурсам за Мегахеши
Вебинар «Предновогодние обещания» начнётся через 16 час. 27 мин.

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

  • На этом уроке мы напишем функцию getAbc(),
    которая будет сортировать буквы ключа по алфавиту.
    Причём перестановки делать вместе с целым массивом.
  • Дата отправки отчёта: 4 июня 2016 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Повторил некоторые знания.
  • Что было сложным: Самое сложное было отсортировать по-нормальному. Намучился с этим - капееец.
  • Комментарии: Утомился с этой дурацкой сортировкой. Начинаю склоняться к мысли, что метод автора хоть и выглядит как то жутко и непонятно, но всё же лучше, чем мой, который понятный но в котором 3 абзаца вместо строки..
  • Оценка видео-уроку:
Отчёт от 1901 за Шифрование / Перестановочный шифр - Алфавитный ключ




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Neverwinter 2  # Методы шифрования / Перестановочный шифр - Алфавитный ключ / 2016-06-04 15:53

Ладно, обсудим сегодня другой вариант.


  • Отчёт оценивали:
    4060Игорь+1   8886Михаил Ермишин+1   4992Николай+1   1Евгений Волосатов+1   6452Кирилл Шмойлов+1   1803Саша+1   7645Александр Львович+1   9237Mais+1   3747Сергей+1   9567Максим+1   4467Alcatraz+1   7119Новопашин Владимир+1   5026Екатерина+1   6987MichGar+1   5257Антон+1   2146Иван+1   4004Елена+1   10233Виталий+1   9263Андрей Н.+1   9971Юрий+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Не, не научился. сейчас попробую справочник подключить к процессу :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 очень популярно, почему же оно "нигде не используется"?
Научился:  1. Сoздaть фyнкцию getAbc(). 2. Пoмecтить pезyльтат её рабoты в текстoвое поле textKeyAbc.
Подход автора, конечно, сомнителен... GetAbc() - костыль тот еще... Функция (которая возвращает значение) попутно изменяет еще какие-то глобальные данные! Правильно было бы, конечно, вынести весь этот функционал в отдельный класс и обращаться к нему чтобы получить ключ стринговый или массив abc. Да и использовать можно было бы какую-нибудь коллекцию словарного типа и с помощью Sort() отсортировать сразу и abc и ключ, но это, конечно, в данном примере не эффективно и привело бы к лишним затратам ресурсов и времени