Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 27.02.2015
Сообщений: 37

Сдвиг символа алфавита

29.03.2016, 16:43. Показов 2125. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно реализовать шифр Тритемиуса.

В мемо вводится какое то сообщение, в эдит вводится слово-ключ. Слово подписывают под сообщением с повторением.

операцияначинаетсяввоскресенье

вологдавологдавологдавологдаво

Чтобы получить шифрованный текст, складывают номер очередной буквы с номером соответствующей буквы ключа.

У меня вышла полная путаница в циклах

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
  String newline;
    char ch[151]={' ','!','#','$','%','&','"','(',')','*','+','-','[','.','/',',',  
     '0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?',
     '@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
     'P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f',
     'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
    'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р',
    'С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я','а','б', 'в',
     'г','д','е','ё','ж','з','и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р',
     'с', 'т', 'у', 'ф', 'х', 'ц','ч','ш', 'щ', 'ъ','ы','ь','э','ю','я' };
 
   String line=Memo1->Text;// считываю из мемо текст, перевожу его в массив символов
       Memo1->Clear();
       char st[1000];
   for (int k=1; k<=line.Length(); k++)
   {
    st[k]=line[k];}
 
 
    String l=Edit2->Text;;
    char ki[1000];
 
   for (int m=1; m<=l.Length(); m++)
   {
    ki[m]=l[m];//перевожу ключ в массив символов
 for (int j=0;j<=151;j++){
 if (ch[j]==ki[m]) //если в алфавите буква совпала с буквой ключа
 {
for (int i = 1;i<=line.Length();i++) { //цикл для массива символов из поля мемо
  for (int j=0;j<=151;j++){//цикл для алфавита
if (ch[j]==st[i]) {//если символ алфавита и мемо совпал
        newline=newline+ch[(j+m)%151];//строке присваиваем символ алфавита  с индексом - номером буквы + сдвиг
        Memo1->Text=String(newline); }
                                }  }   }   }
      }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2016, 16:43
Ответы с готовыми решениями:

Определить мощность алфавита. Определить информационный вес одного символа алфавита
Всем доброго времени суток. :) Пилю курсач по информатике (1 курс), здесь нужно прорешать N-ое количество задач. Посложнее - уже решил,...

Проверка символа на принадлежность к буквам русского алфавита
Дан символ. Проверить: является ли данный символ гласной буквой русского алфавита(независимо от регистра). Объясните, пожалуйста, как...

Сдвиг символа влево
Помогите осуществить сдвиг символа (буквы) из циклического алфавита на n влево. То есть, например, на вход методу дается буква 'A' и число...

1
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
30.03.2016, 21:25
Здесь Оконное приложение "Шифр Тритемиуса" посмотри. Пусть на Java, но суть понять должен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2016, 21:25
Помогаю со студенческими работами здесь

Для каждого символа латинского алфавита определить, сколько раз он встречается в последовательности
Вводится последовательность символов, заканчивающаяся точкой. Для каждого символа латинского алфавита определить сколько раз он встречается...

написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы вперед (алфавита)
написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы(алфавита)

Вывести в консоль символы алфавита, начиная с первого символа вашей фамилии и заканчивая первым последним символом имени
Вывести в консоль символы алфавита, начиная с первого символа вашей фамилии и заканчивая первым последним символом имени.

Дан код символа; как обратиться через битовый сдвиг к его 678 битам
дан код символа как обратиться через битовый сдвиг к его 678 битам, потом к 345 и потом к 12 попробовал так , не верно byte b3 =...

Логический сдвиг влево,логический сдвиг вправо,алгоритм обмена двух переменных,циклический сдвиг
Битовые сдвиги.FW4,msstudio 13,на C# 1)Реализовать быстрое умножение на 2(логический сдвиг влево) 2)Реализовать быстрое деление на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru