Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anela Kitano
2 / 2 / 1
Регистрация: 11.12.2013
Сообщений: 37
#1

Зашифровать строку, выполнив циклическую замену каждой буквы - C++

11.05.2014, 22:27. Просмотров 271. Ответов 0
Метки нет (Все метки)

Перевести программу с паскаля на с++

Pascal
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// Дана строка-предложение на русском языке и число K (0 < K < 10). 
// Зашифровать строку, 
// выполнив циклическую замену каждой буквы на букву того же регистра, 
// расположенную в алфавите на K-й позиции после шифруемой буквы 
// (например, для K = 2 «А» перейдет в «В», «а» — в «в», «Б» — в «Г», «я» — в «б» и т. д.). 
// Букву «ё» в алфавите не учитывать, знаки препинания и пробелы не изменять. 
Program String63;
var
Dano:string; // вводимая строка 
Otvet:string; // ответ 
j:integer; // счётчик цикла 
i:integer; // счётчик цикла 
K:integer; // Задоваемое число 
function Sumbol(H:Char; K:integer):Char; // функция шифрующая один символ 
var
temp:array [1..32] of char;
Ttemp:array [1..32] of char;
bol: boolean; // флаг совершения операции 
begin
// массив строчных букв 
temp[1]:='а'; temp[2]:='б'; temp[3]:='в';
temp[4]:='г'; temp[5]:='д'; temp[6]:='е';
temp[7]:='ж'; temp[8]:='з'; temp[9]:='и';
temp[10]:='й';temp[11]:='к';temp[12]:='л';
temp[13]:='м';temp[14]:='н';temp[15]:='о';
temp[16]:='п';temp[17]:='р';temp[18]:='с';
temp[19]:='т';temp[20]:='у';temp[21]:='ф';
temp[22]:='х';temp[23]:='ц';temp[24]:='ч';
temp[25]:='ш';temp[26]:='щ';temp[27]:='ъ';
temp[28]:='ы';temp[29]:='ь';temp[30]:='э';
temp[31]:='ю';temp[32]:='я';
 
// массив заглавных букв 
Ttemp[1]:='А'; Ttemp[2]:='Б'; Ttemp[3]:='В';
Ttemp[4]:='Г'; Ttemp[5]:='Д'; Ttemp[6]:='Е';
Ttemp[7]:='Ж'; Ttemp[8]:='З'; Ttemp[9]:='И';
Ttemp[10]:='Й';Ttemp[11]:='К';Ttemp[12]:='Л';
Ttemp[13]:='М';Ttemp[14]:='Н';Ttemp[15]:='О';
Ttemp[16]:='П';Ttemp[17]:='Р';Ttemp[18]:='С';
Ttemp[19]:='Т';Ttemp[20]:='У';Ttemp[21]:='Ф';
Ttemp[22]:='Х';Ttemp[23]:='Ц';Ttemp[24]:='Ч';
Ttemp[25]:='Ш';Ttemp[26]:='Щ';Ttemp[27]:='Ъ';
Ttemp[28]:='Ы';Ttemp[29]:='Ь';Ttemp[30]:='Э';
Ttemp[31]:='Ю';Ttemp[32]:='Я';
bol:=true;
for i:=1 to 32-K do
begin
if h=temp[i] then begin Sumbol:=temp[i+K]; bol:=false; end;
end;
if bol then
begin
for i:=32-K+1 to 32 do
begin
if h=temp[i] then begin Sumbol:=temp[K-(32-i)]; bol:=false; end;
end;
end;
 
if bol then begin
for i:=1 to 32-K do
begin
if h=Ttemp[i] then begin Sumbol:=Ttemp[i+K]; bol:=false; end;
end;
if bol then
begin
for i:=32-K+1 to 32 do
begin
if h=Ttemp[i] then begin Sumbol:=Ttemp[K-(32-i)]; bol:=false; end;
end;
end;
end;
if bol then Sumbol:=h;
end;
/////////////////// основная программа///////////////////////////////////// 
begin
// ввод данных 
Write('Введите K ');
readln(K);
Write('Введите строку-предложение на русском языке: ');
readln(Dano);
 
// решение 
for j:=1 to length(Dano) do //проход по всем символам строки 
begin
// шифруем очередной символ и присваиваем к результирующей строке 
Otvet:=Otvet+Sumbol(Dano[j],K);
end;
// вывод результата 
Writeln('Новая строка : ',otvet);
end.
Если возможно, то прошу помочь описать этот код в меньшем виде.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2014, 22:27     Зашифровать строку, выполнив циклическую замену каждой буквы
Посмотрите здесь:

Зашифровать строку, выполнив циклическую замену букв - C++
String63. Дана строка-предложение на русском языке и число K (0 &lt; K &lt; 10). Зашифровать строку, выполнив циклическую замену каждой буквы на...

C (СИ) - Ввести строку символов.И После каждой 2 Буквы ( Именно буквы ) Вставить слово - C++
Огромное Спасибо Darkrduk за эту программу ( программа вставляет MAU ) после каждого 2 символа ** .. Нужно умудриться сделать ! Именно...

Найти количество вхождений каждой буквы в заданную строку - C++
спросить у человека строку, надо посчитать количество вхождений каждой буквы и вывести статистику, например vvedi stroku: hello WORLD L -...

После каждой 2 Буквы вставлять строку символов MAU - C++
С++ Ввести строку символов.И После каждой 2 Буквы ( Вставлять MAU ) Немного поправлю * И После каждой 2 Буквы ( Вставлять строку...

Запросить строку, посчитать количество вхождений каждой буквы, и вывести статистику - C++
Не могу решить!Помогите!

Программа считывает строку текста, выводит число слов и количество вхождений каждой буквы - C++
Напишите программу, считывающую строку текста и выводящую число слов в этой строке, а также количество вхождений каждой буквы. Под словом...

Просканировать строку, и вернуть слово, если ASCII код каждой буквы этого слова четный - C++
написать функцию которая сканирует строку и возвращает слово если ASCII код каждой буквы этого слова четный.Пользоваться арифмитическими...

Побитовые операции: произвести замену каждой комбинации 01 на 11, а 10 на 00 - C++
Вводится короткое целое неотрицательное число. Начиная с младших бит, произвести замену каждой комбинации 01 на 11, а 10 на 00. Как это...

Зашифровать строку - C++
Зашифровать введенную с клавиатуры строку заменой исходных символов на символы с кодом, большим на три единицы. Провести дешифровку. ...

Нужно зашифровать строку - C++
Есть две строки АЛФАВИТ (АФ) (задан изначально) и ОТКРЫТЫЙ ТЕКСТ (ОТ) (ввод с клавиатуры) Выполняется два перебора циклами, как только...

В текстовом файле после каждой 2 буквы вставлять буквы из слова - C++
Подскажите, пожалуйста как на C++ в текстовом файле после, к примеру, каждой 2 буквы вставлять по очереди буквы из слова, например...

в заданном тексте после каждой буквы «b» добавляет буквы «ak». - C++
Составить программу, которая в заданном тексте после каждой буквы «b» добавляет буквы «ak». #include&lt;iostream.h&gt; #include&lt;math.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru