С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

25.12.2012, 16:02. Просмотров 755. Ответов 0
Метки нет (Все метки)

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

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];
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какие переменные используются в программе? (шифровка и расшифровка текста методом решетки) (C++):

Шифровка и расшифровка текста - C++
Зравствуйте! нижепредставленный код шифрует данные списком без проблем. Обратно не расшифровывает. Вернее, создаёт файл, но не то в нём...

Какие паттерны используются в программе и для чего? - C++
Помогите, пожалуйста, разобраться. Определите какие паттерны в программе. для чего они там? class Man{ char* mpName; char* mpsername;...

Не используются все переменные - C++
Добрый день! Написал програмку. При выполнении выдаёт, что я не использую все переменные. Как выводить результат только той функции,...

Шифрование методом решетки Кардано - C++
Есть код расшифровки. Помогите написать код шифрования. #include &lt;iostream.h&gt; int main(int argc, char* argv) { const int SIZE...

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

Шифрование/дешифрование данных методом решетки - C++
Написать программу, осуществляющую шифрование и дешифрование каких-либо данных. Тип шифрования – шифрование методом решеток. Помогите...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 16:02
Привет! Вот еще темы с ответами:

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

Какие модули (библиотеки) используются программами ОС Windows - C++
Интересует каким способом делаются различные визуальные эффекты, например, как в калькуляторе в Win 7. Столкнулся с такой проблемой: ...

Какие параметры используются для контроля формата строк? - C++
Всем привет. Например я использую функцию sprintf_s и в ней есть 3-й параметр format (Format-control string). Также нашел примеры: ...

Какие основные функции используются для неформатированного доступа к файлу? - C++
Подскажите: какие основные функции используются для неформатированного доступа к файлу? Спасибо!


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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