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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию замены всех цифр в строке пробелами http://www.cyberforum.ru/cpp-beginners/thread745467.html
Помогите пожалуйста написать программу, очень срочно надо Написать функцию замены всех цифр в строке пробелами. Ввести и обработать две смешанные строки(вводятся английские буквы и цифры). Строки вводятся с клавиатуры
C++ Базовый класс Complex и производный класс Vector Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними: сложения, вычитания, умножения и деления. Создайте производный класс для реализации векторов с комплексными компонентами (вектор имеет три компонента, каждый компонент – комплексное число). Компоненты вектора являются элементами массива. Предусмотреть возможность... http://www.cyberforum.ru/cpp-beginners/thread745463.html
Алгоритм по типу экселевского vlookup. Посоветуйте, как скомпоновать 2 файлика C++
Hi all. Думаю, как лучше сделать следующее (понятно, что можно в Excel'е через vlookup, а как программно?) в общем, есть колонка данных в одном файле: 101 : name1 102 : name2 103 : name3 104 : name4 105 : name5
C++ Ввести данные структуры, и если на входе пустая строка, функция возвращает "ноль" (Прокомментировать каждую строку)
Друзья, прокоментируйте пожалуйста, что каждая строка делает, что за переменные и т.д. задание такое было: написать функцию, которая принимает в качестве аргумента структуру, а возвращает целое значение. Данная функция должна предлагать пользователю ввести данные структуры, и если он вводит пустую строку, то функция возвращает "ноль", и функция прерывает свою работу. #include "stdafx.h"...
C++ как проверить введенную строку на принадлежность к английскому алфавиту? http://www.cyberforum.ru/cpp-beginners/thread745427.html
собственно вопрос.
C++ Тест простоты для БОЛЬШИХ чисел (тест Ферма) Необходимо применить ТЕСТ ФЕРМА для больших чисел с использованием библиотеки bignum, кто нибудь работал с ней? Начал делать, но остановился на этом моменте.. Visual 2010 ССЫЛКА на мои файлы + bignum.h #include "bignum.h" #include <stdlib.h> #include <iostream> #include <conio.h> using namespace std; подробнее

Показать сообщение отдельно
Виталий32
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 13
25.12.2012, 16:02     Какие переменные используются в программе? (шифровка и расшифровка текста методом решетки)
Какие переменные используются в программе?Это программа шифровки и расшифровки текста методом решетки

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];
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru