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

Какие переменные используются в программе? (шифровка и расшифровка текста методом решетки) - C++

Восстановить пароль Регистрация
 
Виталий32
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 13
25.12.2012, 16:02     Какие переменные используются в программе? (шифровка и расшифровка текста методом решетки) #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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include "stdafx.h"
#include <iostream>
#include "conio.h"
 
using namespace std;
int N;
 
void RotationMatrix(int **MatrixKey);//поворот решетки
void Encrypt(char **Sequence, int **MatrixKey);//шифровка данных
void Decipher(char **Sequence, int **MatrixKey);//расшифровка данных
int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Enter:\n1 - encrypt this sequence;\n2 - decipher this sequence.\n";
    int flag;
    cin >> flag;
 
    cout << "Sequence length:  ";
    cin >> N;
 
    cout << "\nEnter matrix-key (with space)\n";
    getchar();
 
    //выделение памяти для решетки (0 - дырка)
    int **MatrixKey = new int *[N];
    for(int i = 0; i < N; i ++)
        MatrixKey[i] = new int [N];
    //выделение памяти для последовательности
    char **Sequence = new char *[N];
    for(int i = 0; i < N; i ++)
        Sequence[i] = new char [N];
 
    //заполнение решетки
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++){
            cin >> MatrixKey[i][j];
            if (MatrixKey[i][j] == 32 || MatrixKey[i][j] == 13)//проверка на пробел и на переход на новую строку
                j --;
        }
 
    cout << "Enter sequence:\n";
    getchar();
    if (flag == 1){
        Encrypt(Sequence, MatrixKey);//шифрование последовательности
    }
    if (flag == 2){
        Decipher(Sequence, MatrixKey);//расшифрование
    }
 
 
 
 
 
 
 
 
 
 
    //освобождение памяти
    for(int i = 0; i < N; i ++)
        delete []MatrixKey[i];
    delete []MatrixKey;
    for(int i = 0; i < N; i ++)
        delete []Sequence[i];
    delete []Sequence;
 
    getch();
    return 0;
}
//поворот решетки
void RotationMatrix(int **MatrixKey){
    //выделение памяти для вспомогательной матрицы
    int **Matrix = new int *[N];
    for(int i = 0; i < N; i ++)
        Matrix[i] = new int [N];
 
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++)
            Matrix[i][j] = MatrixKey[i][j];
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++)
            MatrixKey[j][N - i - 1] = Matrix[i][j];
 
    //освобождение памяти
    for(int i = 0; i < N; i ++)
        delete []Matrix[i];
    delete []Matrix;
}
//шифровка данных
void Encrypt(char **Sequence, int **MatrixKey){
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++)
            Sequence[i][j] = getchar();//посимвольное считывание строки в матрицу
    cout << "\n";
    for (int k = 0; k < 4; k ++){
        for (int i = 0; i < N; i ++)
            for (int j = 0; j < N; j ++){
                if (MatrixKey[i][j] == 0)
                    cout << Sequence[i][j];
            }
        RotationMatrix(MatrixKey);
    }
}
//расшифровка данных
void Decipher(char **Sequence, int **MatrixKey){
    for (int k = 0; k < 4; k ++){
        for (int i = 0; i < N; i ++)
            for (int j = 0; j < N; j ++){
                if (MatrixKey[i][j] == 0)
                    Sequence[i][j] = getchar();
            }
        RotationMatrix(MatrixKey);
    }
    cout << "\n";
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N; j ++)
            cout << Sequence[i][j];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 16:02     Какие переменные используются в программе? (шифровка и расшифровка текста методом решетки)
Посмотрите здесь:

Шифровка и расшифровка текста C++
C++ Шифрование/дешифрование данных методом решетки
C++ Шифрование методом решетки Кардано
Какие параметры используются для контроля формата строк? C++
C++ Какие модули (библиотеки) используются программами ОС Windows
Какие паттерны используются в программе и для чего? C++
Какие математические формулы используются в приведенных программах? C++

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

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

Текущее время: 11:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru