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

Решетка Кардана - C++

Восстановить пароль Регистрация
 
trum
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 53
11.01.2014, 15:27     Решетка Кардана #1
Может кто найти реализацию на С++? Или она у кого нибудь есть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 15:27     Решетка Кардана
Посмотрите здесь:

Решетка Кардано C++
Граф -> решетка
C++ Метод Кардана
Дифракционная решетка
Одиночный символ «решетка» (#) C++
Дифракционная решетка(задача)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Boleon
Guardian of Asgaard
372 / 315 / 106
Регистрация: 11.11.2013
Сообщений: 1,045
11.01.2014, 15:43     Решетка Кардана #2
Цитата Сообщение от trum Посмотреть сообщение
Может кто найти реализацию на С++? Или она у кого нибудь есть
здесь в поиске много чего есть.
Расшифровка/зашифровка Решётка Кардано
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
11.01.2014, 17:38     Решетка Кардана #3
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>
using namespace std; 
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;
 
 
   return 0;
}
эта программа только расшифровует закодированый текст по методу решетки Кардано.
Yandex
Объявления
11.01.2014, 17:38     Решетка Кардана
Ответ Создать тему
Опции темы

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