|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.02.2011, 19:39 | #1 |
Пользователь
Регистрация: 17.02.2011
Сообщений: 57
|
Шифр "Тарабарщина" - замена одних букв другими
Итак, начну с определения Тарабарщины
Тарабарская грамота, простая литорея — шифр, широко использовавшийся в древнерусских рукописях. Представляет собой простейший шифр замены без ключа. Согласные в алфавите делят на две равные части, и первую пишут строкой в алфавитном порядке, а вторую под буквами первой в обратном порядке. Таким образом получают таблицу: б в г д ж з к л м н щ ш ч ц х ф т с р п Употребляют в письме верхние буквы вместо нижних и наоборот, а гласные остаются без изменения. Так, например, словарь на тарабарской грамоте будет лсошамь, великий государь — шеситий чолуцамь и т. п. Для расшифровки используют тот же способ, что и для шифрования (шифр симметричный). Мне нужно написать программу, которая переводит шифрованный текст в обычный. Например, "Шещ-нмочмарримошапие" будет звучать как "Веб-программирование" Как реализовать данную задачу в Pascal ABC? Спасибо!
DesignFootball.Ru - Первый русскоязычный сайт о футбольной экипировке.
|
17.02.2011, 21:17 | #2 |
Регистрация: 16.02.2011
Сообщений: 5
|
Очень элементарно:
var s: string; i,k: integer; begin WriteLn('Введите строку:'); ReadLn(s); k:=length(s); for i:=1 to k do case s[i] of 'б': s[i]:='щ'; 'в': s[i]:='ш'; 'г': s[i]:='ч'; 'д': s[i]:='ц'; 'ж': s[i]:='х'; 'з': s[i]:='ф'; 'к': s[i]:='т'; 'л': s[i]:='с'; 'м': s[i]:='р'; 'н': s[i]:='п'; 'щ': s[i]:='б'; 'ш': s[i]:='в'; 'ч': s[i]:='г'; 'ц': s[i]:='д'; 'х': s[i]:='ж'; 'ф': s[i]:='з'; 'т': s[i]:='к'; 'с': s[i]:='л'; 'р': s[i]:='м'; 'п': s[i]:='н'; {Если необходимо то сделайте и для строчных букф так же} end; Write(s); end. |
17.02.2011, 21:29 | #3 |
Пользователь
Регистрация: 17.02.2011
Сообщений: 57
|
Ilya1986g,
огромное спасибо! в том же ключе и сам пытался делать, но не мог разобраться с этой строчкой k:=length(s); for i:=1 to k do case s[i] of Ещё раз спасибо!
DesignFootball.Ru - Первый русскоязычный сайт о футбольной экипировке.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Замена букв в строке другими буквами | Palomnik1096 | Microsoft Office Excel | 7 | 07.07.2014 07:17 |
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. | kvas91 | Общие вопросы C/C++ | 3 | 14.11.2010 16:51 |
Найти слова, в которых доля букв "а" и "е" минимальна. | Андрей_ка | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 10.10.2010 16:56 |
"Шифр Цезаря" на СИ, проблема с русским алфавитом | Antowka | Помощь студентам | 9 | 30.01.2010 18:32 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |