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

Перестановочный шифр с ключевым словом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Погогите разобраться со связанными списками http://www.cyberforum.ru/cpp-beginners/thread179402.html
Здравствуйте. У меня было задание: Задан массив из n элементов. Расставить: наимешьший элемент в начало массива, следующий по величине - в конец, следующий по величине - на 2-е место, следующий - на 2-е с конца, и так все элементы массива. Т.е. было: 2 3 1 4 3 должно стать: 1 3 4 3 2 Вот мой код с использованием динамических массивов: #include <iostream.h> #include <conio.h> #include...
C++ Не могу разобраться где ошибка!error LNK2019: ссылка на неразрешенный внешний символ #include "stdafx.h" #include "conio.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "math.h" #include <iomanip> #include <iostream> #include <windows.h> #define N 7 http://www.cyberforum.ru/cpp-beginners/thread179391.html
C++ Непонятный результат выполнения программы
Есть такой код: при выполнении выдает непонятный результат(Вложение 1),условия(вложение 2). Может кто то подскажет почему #include <iostream> #include <math.h> #include <iomanip> int main() { // Îïðåäåëåíèå ïåðåìåííûõ
C++ Двойной факториал
Здравствуйте, Товарищи. Поискал на форуме подобную задачку, увы, не нашел. Помогите составить программу (у меня КодБлокс) которая будет вычислять двойной интеграл. т.е. Двойной факториал числа n обозначается n!! и определяется как произведение всех натуральных чисел в отрезке , имеющих ту же чётность что и n. Таким образом, (2k)!!=2*4*6*8*...*2k (2k+1)!!=1*3*5*7*...(2k+1) P.S. В институте...
C++ Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? http://www.cyberforum.ru/cpp-beginners/thread179342.html
Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы?
C++ Список файлов в директории Нашёл функцию которая должна вроде бы выводить список файлов в директории. Правильная она или нет честно говоря не знаю. Если правильная то как с помощью её вывести список файлов например в директории C:\Program Files. #include <stdio.h> #include <windows.h> #include <iostream> struct ffblk { подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
21.10.2010, 15:01     Перестановочный шифр с ключевым словом
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
#include "stdafx.h"
#include <string>
#include <iostream>
    
void permutationcode(std::string& text, std::string& const key)
{
    int col = key.size();
    int row = (text.size() % col) ? ((text.size() / col) + 1) : (text.size() / col);
    
    int** arrtext = new int*[row];
    for (int i = 0; i < row; ++i)
        arrtext[i] = new int[col];
 
    //inizialization array {0}
    for (int i = 0; i < row; ++i)
        for (int j = 0; j < col; ++j)
            arrtext[i][j] = 0;
 
    //fill array {text[i]}
    for (int i = 0; i < row; ++i)
        for (int j = 0; j < col; ++j)
            arrtext[i][j] = text[(i*col)+j];
        
 
    int index = 0;
    //permutation
    for (int i = 0; i < 256; ++i)
        for (int j = 0; j < key.size(); ++j)
            if (key[j] == i)
                for (int k = 0; k < row; ++k){
                    text[index] = arrtext[k][j];
                    ++index;
                }
 
        for (int i = 0; i < row; ++i)
             delete[] arrtext[i];
             delete[] arrtext;
}
 
/*
Помогите, нужно сделать программу что будет зашифровывать и расшифровывать текст с помощью перестановочного шифра.
Буквы открытого текста записываются в клетки прямоугольной таблицы по ее строчкам. 
Буквы ключевого слова пишутся над столбцами и указывают порядок этих столбцов (по возрастанию номеров букв в алфавите). 
Чтобы получить зашифрованный текст, надо выписывать буквы по столбцам с учетом их нумерации:
*/
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::string text("Hello programmers!");
    std::string key("bac");
 
    std::cout << "Text before: " << text << std::endl << std::endl;
    permutationcode(text,key);
    std::cout << "Text after:  " << text << std::endl;
 
    std::cin.get();
    return 0;
}
 
Текущее время: 00:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru