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

Шифрование биграмм с двойным квадратом (C++) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не компилируется проект http://www.cyberforum.ru/cpp/thread1096213.html
Помогите,никак не могу скомпилить проект( MyFilter.h #include "Windows.h" struct TitleWave { //формат секции fmt звукового файла WORD type; //тип звуковых данных. Для нашей работы нужно значение 1 (про-сто // данные без сжатия) WORD channels; // количество каналов long freq; //частота дискретизации long bytes; //частота выдачи байтов WORD align; //выравнивание
C++ Исходники программы по шифрованию с использованием эллиптических кривых Ребята я пишу диплом по защите информации в ЛВС с использованием эллиптических кривых. Мне нужны исходники программы по шифрованию с использованием эллиптических кривых, или хотя бы названия программ которые используют этот метод. Заранее спасибо!! http://www.cyberforum.ru/cpp/thread1095266.html
Подкиньте, пожалуйста, литературы по MPFR и GMPXX C++
Желательно русскоязычной. А то я уже нифига не понимаю.
Как вызвать exception во время переполнения типа int C++
такая задача, нужно что бы во время присваивания переменной типа int чисел больших чем допустимые вызвалось именно исключение, ибо сейчас у меня переменной просто присваивается максимальное значение типа int. Я работаю под GNU g++ 4.6 (linux)
C++ С++ http://www.cyberforum.ru/cpp/thread1091646.html
помогите С++
C++ Как собрать файлы в директории? Привет всем! Пользователем в программе задаётся директория (начальная папка). Требуется собрать все звуковые файлы (формат mp3, wav) как в самой исходной папке, так и во вложенных папках. Вопрос: как это организовать? Будет удобно, если ответ будет привязан к компонентам Builder C++. подробнее

Показать сообщение отдельно
Мусаси
 Аватар для Мусаси
7 / 7 / 0
Регистрация: 07.05.2013
Сообщений: 176

Шифрование биграмм с двойным квадратом (C++) - C++

14.02.2014, 02:43. Просмотров 1394. Ответов 4
Метки (Все метки)

Всем добрый вечер! В общем надо зашифровать слово методом Биграмм с двойным квадратом. Суть их в чем заключается:
1)есть 2 таблицы (массивы из букв. Буквы не должны повторяться)
2)задаём ключ для первой и второй таблицы. (ключ - слово, заполняющее самую первую строчку массива)
3)вводим шифруемое слово(открытый текст)
4)шифр осуществляется так Шифрование биграмм с двойным квадратом (C++)

Вот я написал код программы, который я не могу доработать, т.к. выдаёт ошибку
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// Шифрование биграммами с двойным квадратом.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <string.h>
 
using namespace std;
 
int main()
{//инициализация 1-го массива и вывод его на экран
const int A=6,B=6;
char Mass[A][B]={"ABCDE","FGHIJ","KLMNO","PQRST","UVWXY","Z,-.!"};
int i,j;
cout<<"--- 1 Massiv ---"<<endl;
for (i=0;i<A;i++) {cout<<endl;
for (j=0;j<B;j++) {cout<<Mass[i][j]<<" ";}
}
 
//инициализация 2-го массива и вывод его на экран
const int A1=6,B1=6;
char Mass1[A1][B1]={"ABCDE","FGHIJ","KLMNO","PQRST","UVWXY","Z,-.!"};
int i1,j1;
cout<<endl<<endl<<"--- 2 Massiv ---"<<endl;
for (i1=0;i1<A1;i1++) {cout<<endl;
for (j1=0;j1<B1;j1++) {cout<<Mass1[i1][j1]<<" ";}
}
 
//вводим ключ для первого массива и вывод исходного массива
cout<<endl<<"Input key for 1-st Massiv (5 symbols) ---> ";
char key1[A];//КЛЮЧ
cin>>key1;
 
char g1=Mass[0][0];//ДЛЯ 1-Й БУКВЫ
char g2=Mass[0][1];//ДЛЯ 2-Й БУКВЫ
char g3=Mass[0][2];//ДЛЯ 3-Й БУКВЫ
char g4=Mass[0][3];//ДЛЯ 4-Й БУКВЫ
char g5=Mass[0][4];//ДЛЯ 5-Й БУКВЫ
 
for (i=0;i<A;i++) {cout<<endl;
for (j=0;j<B;j++) {
                if (Mass[i][j]==key1[0]) {key1[0]=Mass[0][0]; Mass[0][0]=Mass[i][j];Mass[i][j]=g1;}
                if (Mass[i][j]==key1[1]) {key1[1]=Mass[0][1]; Mass[0][1]=Mass[i][j];Mass[i][j]=g2;}//
                if (Mass[i][j]==key1[2]) {key1[2]=Mass[0][2]; Mass[0][2]=Mass[i][j];Mass[i][j]=g3;}
                if (Mass[i][j]==key1[3]) {key1[3]=Mass[0][3]; Mass[0][3]=Mass[i][j];Mass[i][j]=g4;}//
                if (Mass[i][j]==key1[4]) {key1[4]=Mass[0][4]; Mass[0][4]=Mass[i][j];Mass[i][j]=g5;}
                    }
}
 
cout<<"--- 1 Massiv (NEW) ---"<<endl;
for (i=0;i<A;i++) {cout<<endl;
for (j=0;j<B;j++) {cout<<Mass[i][j]<<" ";}
}
 
//вводим ключ для второго массива и вывод исходного массива
cout<<endl<<"Input key for 2-d Massiv (5 symbols) ---> ";
char key2[A1];//КЛЮЧ
cin>>key2;
 
char G1=Mass1[0][0];//ДЛЯ 1-Й БУКВЫ
char G2=Mass1[0][1];//ДЛЯ 2-Й БУКВЫ
char G3=Mass1[0][2];//ДЛЯ 3-Й БУКВЫ
char G4=Mass1[0][3];//ДЛЯ 4-Й БУКВЫ
char G5=Mass1[0][4];//ДЛЯ 5-Й БУКВЫ
 
for (i1=0;i1<A1;i1++) {cout<<endl;
for (j1=0;j1<B1;j1++) {
                if (Mass1[i1][j1]==key2[0]) {key2[0]=Mass1[0][0]; Mass1[0][0]=Mass1[i1][j1];Mass1[i1][j1]=G1;}
                if (Mass1[i1][j1]==key2[1]) {key2[1]=Mass1[0][1]; Mass1[0][1]=Mass1[i1][j1];Mass1[i1][j1]=G2;}//
                if (Mass1[i1][j1]==key2[2]) {key2[2]=Mass1[0][2]; Mass1[0][2]=Mass1[i1][j1];Mass1[i1][j1]=G3;}
                if (Mass1[i1][j1]==key2[3]) {key2[3]=Mass1[0][3]; Mass1[0][3]=Mass1[i1][j1];Mass1[i1][j1]=G4;}//
                if (Mass1[i1][j1]==key2[4]) {key2[4]=Mass1[0][4]; Mass1[0][4]=Mass1[i1][j1];Mass1[i1][j1]=G5;}
                    }
}
 
cout<<"--- 2 Massiv (NEW) ---"<<endl;
for (i1=0;i1<A1;i1++) {cout<<endl;
for (j1=0;j1<B1;j1++) {cout<<Mass1[i1][j1]<<" ";}
}
 
//ВВОДИМ И ШИФРУЕМ СЛОВО
cout<<endl<<"Input word(limit 10)"<<endl;
char word[6];
cin>>word[6];
//-------поиск в 1-ом и во 2-ом ------------------------
int x,y,X,Y;//1-2
int x1,y1,X1,Y1;//3-4
int x2,y2,X2,Y2;//5-6
int x3,y3,X3,Y3;//7-8
int x4,y4,X4,Y4;//9-10
 
char w0=word[0]; 
char w1=word[1];
 
for (i=0;i<A;i++) {//1-й (1-я буква) [1-й массив 1-я буква]
for (j=0;j<B;j++)   
    {   if (Mass[i][j]==w0) {x=i;y=j;}
    }
}
for (i1=0;i1<A1;i1++) {//2-й (2-я буква)
for (j1=0;j1<B1;j1++)   
    {   if (Mass1[i1][j1]==w1) {X=i1;Y=j1;}
    }
}
cout<<"Number 1 ---- ["<<x<<" "<<y<<"]"<<endl;
cout<<"Number 2 ---- ["<<X<<" "<<Y<<"]"<<endl;
 
/*for (i=0;i<A;i++) {//1-й (3-я буква)
for (j=0;j<B;j++)   
    {   if (Mass[i][j]==word[3]) {x1=i;y1=j;}
    }
}
for (i1=0;i1<A1;i1++) {//2-й (4-я буква)
for (j1=0;j1<B1;j1++)   
    {   if (Mass1[i1][j1]==word[4]) {X1=i1;Y1=j1;}
    }
}
 
 
for (i=0;i<A;i++) {//1-й (5-я буква)
for (j=0;j<B;j++)   
    {   if (Mass[i][j]==word[5]) {x2=i;y2=j;}
    }
}
for (i1=0;i1<A1;i1++) {//2-й (6-я буква)
for (j1=0;j1<B1;j1++)   
    {   if (Mass1[i1][j1]==word[6]) {X2=i1;Y2=j1;}
    }
}
 
for (i=0;i<A;i++) {//1-й (7-я буква)
for (j=0;j<B;j++)   
    {   if (Mass[i][j]==word[7]) {x3=i;y3=j;}
    }
}
for (i1=0;i1<A1;i1++) {//2-й (8-я буква)
for (j1=0;j1<B1;j1++)   
    {   if (Mass1[i1][j1]==word[8]) {X3=i1;Y3=j1;}
    }
}
 
for (i=0;i<A;i++) {//1-й (9-я буква)
for (j=0;j<B;j++)   
    {   if (Mass[i][j]==word[9]) {x4=i;y4=j;}
    }
}
for (i1=0;i1<A1;i1++) {//2-й (10-я буква)
for (j1=0;j1<B1;j1++)   
    {   if (Mass1[i1][j1]==word[10]) {X4=i1;Y4=j1;}
    }
}*/
cout<<endl<<"Vash shifrovanoe slovo - "<<endl;
cout<<Mass1[x][Y]<<" | "<<Mass[X][y]<<endl;
 
system("pause");
return 0;
}
Вот выдаёт ошибку:
Шифрование биграмм с двойным квадратом (C++)
Подскажите, в чем причина, что не так? Можно ли как-то уменьшить код. На всякий скину программу Шифрование биграммами с двойным квадратом.rar
Спасибо. Буду очень благодарен. Надеюсь, эта тема еще кому-нибудь поможет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru