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

Метод Кардана - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ работа с бинарным файлом http://www.cyberforum.ru/cpp-beginners/thread994910.html
почему программа не выводит 16-ричный дамп бинарного файла? int main () { streamoff lSize; char *buffer; ifstream File("myfile.bin" , ios::binary); if (!File) { cerr << "File error";
C++ Class book continue Задание: Создать заголовочный файл bookshop.h и описать в нём класс bookshop со следующими полями (закрытыми) и функциями-членами (открытыми): Поля _name (название магазина, std::string) и _books (вектор объектов класса book). Конструктор с одним параметром — названием магазина. Константная функция чтения названия магазина. Перегруженная операция += для добавления книги в магазин (в виде... http://www.cyberforum.ru/cpp-beginners/thread994898.html
C++ Вывод всех членов структуры
Как вывести все члены структуры с помощью цикла, автоматически? С массивом, например, можно так сделать: for (int i = 0, i < n; i++) cout << arr; А как такое сотворить со структурой? Не хочется вручную писать всё.
Найти максимальное целое число, куб которого не превышает 30000 C++
Пожалуйста помогите написать программу на с++ которая находит максимальное целое число, куб которого не превышает 30000
C++ c++11 и $define http://www.cyberforum.ru/cpp-beginners/thread994878.html
Есть код который прекрасно компилируется без -std=c++11, но как только я включаю эту опцию то константы препроцессора не заменяются и компилятор ругается error: 'CONST_NAME' was not declared in this scope Как быть?
C++ binder binder1st < equal_to<int> > equal_to_10 (equal_to<int>(),10); подстановка 10ти в предикат equal_to<int>() вместо первого аргумента binder2nd < less<int> > IsNegative (less<int>(),0); подстановка 0ля в предикат less<int>() вместо второго аргумента еcли не так. тогда не пойму зачем binder1st binder2nd и в чем отличия. подробнее

Показать сообщение отдельно
trum
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 53
01.11.2013, 21:21     Метод Кардана
Вот программа. Задача такая, чтобы мы вводили текст, программа его шифровала по Методу КАРДАНА(Решетка Кардана), а затем расшифровывала его и выводила. Эта прорамма только расшифровует зашифрованый текст, а нужно еще чтобы шифровала аналогичным способом. За помощь Спасибо!

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
#include <iostream.h>
 
int main(int argc, char* argv[])
{
const int SIZE = 5;
char *buf[SIZE] = {"guhoe",
"llxoe",
"bnce.",
"utp!w",
"nqwmp"}; // матрица с зашифрованным текстом
int grid[SIZE][SIZE] ={{0, 0, 1, 0, 1},
{1, 1, 0, 1, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 1, 0},
{0, 0, 0, 0, 0}}; // решетка Кардано
// размер обоих матриц должен быть одинаковым
 
// вывод зашифрованного сообщения
for (int i = 0; i < SIZE; i++)
cout << buf[i] << endl;
cout << endl;
 
// прямой обход решетки
cout << "0:" << endl;
for (int i = 0; i < SIZE; i++)
for (int j = 0; j < SIZE; j++)
if (grid[i][j] == 1)
cout << buf[i][j];
cout << endl;
 
// поворот решетки на 90 градусов по часовой стрелке
cout << "90:" << endl;
for (int i = 0; i < SIZE; i++)
for (int j = 0; j < SIZE; j++)
if (grid[SIZE-j-1][i] == 1)
cout << buf[i][j];
cout << endl;
 
// поворот решетки на 180 градусов по часовой стрелке
cout << "180:" << endl;
for (int i = 0; i < SIZE; i++)
for (int j = 0; j < SIZE; j++)
if (grid[SIZE-i-1][SIZE-j-1] == 1)
cout << buf[i][j];
cout << endl;
 
// поворот решетки на 270 градусов по часовой стрелке
cout << "270:" << endl;
for (int i = 0; i < SIZE; i++)
for (int j = 0; j < SIZE; j++)
if (grid[j][SIZE-i-1] == 1)
cout << buf[i][j];
cout << endl;
 
system("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru