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

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

Войти
Регистрация
Восстановить пароль
 
vveronikka
0 / 0 / 0
Регистрация: 27.04.2014
Сообщений: 65
#1

Шифрование заменой - C++

29.05.2014, 07:02. Просмотров 295. Ответов 1
Метки нет (Все метки)

Нужно провести шифрование текстовой информации заменой части символов. Есть код Паскаль. Помогите, пожалуйста
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
const
txt1='Privet Privet'#2;
txt2='Shifrovanie textovoy informacii zamenoy chasti simvolov';
var
I:byte;
C:char;
Line:string[$FF];
ShiftTab:array[1..255] of byte;
procedure ChangeCharNum (var C:char);
begin
case C of
#007..#010:    C:=Chr(Ord(C)+243);
#013:          C:=#254;
#026:          C:=#255;
#250..#253:    C:=Chr(Ord(C)-243);
#254:          C:=#013;
#255:          C:=#026;
end;
Exit;
end;
begin
Line:=txt1+txt2;
writeln(line);
randomize;
for I:=1 to Length(line) do
ShiftTab[I]:= Random (250);
ChangeCharNum (Line[I]);
for I:=1 to Length(line) do begin
ChangeCharNum (Line[I]);
if Line[I]<=#250 then
Line[I]:=Chr((Ord(Line[I])+250-ShiftTab[I]) mod 250);
ChangeCharNum (Line[I]);
end;
writeln(Line);
for I:=1 to Length(line) do begin
ChangeCharNum (Line[I]);
if Line[I]<=#250 then
Line[I]:=Chr((Ord(Line[I])+ShiftTab[I]) mod 250);
ChangeCharNum (Line[I]);
end;
Write(line);
writeln;
writeln;
writeln;
Halt;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 07:02     Шифрование заменой
Посмотрите здесь:

Шифровка табличной заменой - C++
Помогите написать на с++ Один из простейших способов шифровки текста состоит в том, что каждой букве алфавита ставится в соответствии...

Помощь в задаче с заменой - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; int main() { char stroka; int len; cin&gt;&gt;stroka; ...

Программа с массивом, с заменой эелементов - C++
Здравствуйте, мне была задана программа, с таким заданием: &quot;В массив целых чисел все нулевые элементы заменить на средние арифмитические...

Задача, связанная с заменой текста в файлах - C++
Имеется следующая ситуация: В одной папке более 100 текстовых файлов: файл1.txt файл2.txt файл3.txt и тд.

Проблемы с заменой в массиве числа на символ - C++
#include &lt;iostream&gt; # include &lt;iomanip&gt; # include &lt;time.h&gt; using namespace std; void sortirovka (const int ,const int ,int ,int...

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

Матрица с заменой столбца на введенный вами столбец - C++
Даны действительные числа a1, …, an, действительная квадратная матрица порядка n (n ≥ 6). Получить действительную матрицу размера...

Написать программу копирования файла с заменой пробелов на символ |. - C++
Программа, которая открывает файл txt и заменяет пробелы на знак &quot; \ &quot;. Можно запись в другой файл.

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5116 / 4436 / 1476
Регистрация: 14.04.2014
Сообщений: 17,591
29.05.2014, 10:42     Шифрование заменой #2
Без 27-й строки и без #2 в txt1.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <iostream>
#include <string>
#include <ctime>
 
using namespace std;
 
void ChangeCharNum(char &c)
{
    unsigned char *pc = (unsigned char *)&c;
    if(*pc >= 7 && *pc <= 10) *pc += 243;
    else
        if(*pc == 13) *pc = 254;
        else
            if(*pc == 26) *pc = 255;
            else
                if(*pc >= 250 && *pc <= 253) *pc -= 243;
                else
                    if(*pc == 254) *pc = 13;
                    else
                        if(*pc == 255) *pc = 26;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    string txt1 = "Privet Privet ";
    string txt2 = "Shifrovanie textovoy informacii zamenoy chasti simvolov";
 
    unsigned char ShiftTab[255];
 
    string Line = txt1 + txt2;
    cout << Line << endl;
    srand(time(NULL));
    for(unsigned int i = 0; i < Line.length(); i++) ShiftTab[i] = rand() % 255;
    for(unsigned int i = 0; i < Line.length(); i++)
    {
        ChangeCharNum(Line[i]);
        if((unsigned char)Line[i] <= 250) Line[i] = ((unsigned char)Line[i] + 250 - ShiftTab[i]) % 250;
        ChangeCharNum(Line[i]);
    }
    cout << Line << endl;
    for(unsigned int i = 0; i < Line.length(); i++)
    {
        ChangeCharNum(Line[i]);
        if((unsigned char)Line[i] <= 250) Line[i] = ((unsigned char)Line[i] + ShiftTab[i]) % 250;
        ChangeCharNum(Line[i]);
    }
    cout << Line << endl << endl;
 
    system("pause");
    return 0;
}
Yandex
Объявления
29.05.2014, 10:42     Шифрование заменой
Ответ Создать тему
Опции темы

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