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

Вывод зашифрованного текста методом подстановки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объём кактуса http://www.cyberforum.ru/cpp-beginners/thread1151599.html
Необходимо добавить в класс кактус метод вычисления объёма (предполагая, что кактус - имеет форму цилиндра, то есть \pi*R^2*h) головной файл: #include <iostream> #include "interface.h" #include <math.h> using namespace std; int main()
C++ Странно работает сортировка Всем привет! Только начинаю писать на c++, и не понятен один момент, необходимо по заданию В матрице 6*6 упорядочить элементы в каждой строке по убыванию, а строки матрицы расположить по возрастанию суммы элементов строк. Код у меня получился таким:// ipr_1.cpp: определяет точку входа для консольного приложения. // // В матрице 6*6 упорядочить элементы в каждой строке по убыванию, а строки... http://www.cyberforum.ru/cpp-beginners/thread1151596.html
Работа с датой и функция SetVolumeLabel C++
1) Изменение системной даты Делал так: void GetDate(time_t t,tm *tk) { time(&t); tk=localtime(&t); cout<<"Local date: "; if ((1+tk->tm_mon)<10) cout << tk->tm_mday<<".0" <<1+tk->tm_mon <<" " <<1900+tk->tm_year << endl;
C++ Копирование части строки, в новую строку
Здравствуйте, помогите плиз с этой задачей. Заранее спасибо. Копирование в новую строку части исходной, начиная с элемента с заданным номером.
C++ Проверить, есть ли пароль в массиве http://www.cyberforum.ru/cpp-beginners/thread1151561.html
Есть такой код: string z; string x = {"11111ab", "22222cd", "33333ef","44444gh","55555ij","66666kl"}; cin » z; if (z == x) { cout « "такой пароль есть в массиве"; }
C++ Как правильно создать функцию и затем вызвать ее #include<string> #include <cmath> #include <iostream> #include<locale> using namespace std; int rl1,rl2,rl3,rl4,a,b,c,s; int main() { setlocale(LC_ALL,"Rus"); подробнее

Показать сообщение отдельно
Полька 321
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 19
19.04.2014, 16:41     Вывод зашифрованного текста методом подстановки
делаю курсовую.тема шифровка/дешифровка текста методом подстановка+перестановка. суть в том, что пользователь вводит текст для шифрования латинскими буквами и без пробелов. написала программу,не могу только написать функцию дешифровки для метода перестановки. пробовала но расшифровывает неправильно. алгоритм программы у меня следующий:
1. ввод текста
2. вывод зашифрованного текста методом подстановки
3. ввод длины,и собственно самого ключа для шифровки методом перестановки
4. вывод зашифрованного текста методом перестановки
5. вывод расшифрованного текста методом подстановки
6. вывод расшифрованного текста методом перестановки (что и не получается)
ВНИМАНИЕ!!! Код прилагается
Люди добрые не глупые,помогите пожалуйста девушке на 9ом месяце беременности) курсач надо через 2 недели сдать, а то рожать скоро,ходить будет на пары не вариант) ещё документации кучу делать
вопщем надеюсь на адекватность и ум форумчан
заранее огромное спасибо от меня и будущего поколения
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
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
//ïåðåìåГ*Г*ûå ïîäñòГ*Г*îâêè
    char buff[50] = {0};
//ïåðåìåГ*Г*ûå ïåðåñòГ*Г*îâêè
 const int MAXLEN=200;
const int KEYLENGHT1=18;
    int size,lenght,n,c;
    int *keyReplace; 
 
     char buff1[50] = {0};
//øèôðîâГ*Г*ГЁГҐ ìåòîäîì ïîäñòГ*Г*îâêè, ãäå ГЄГ*æäГ*Гї ГЎГіГЄГўГ* èñõîäГ*îãî ГІГҐГЄГ±ГІГ* Г§Г*ìåГ*ГїГҐГІГ±Гї
// òðåòüåé ïîñëå Г*ГҐГҐ áóêâîé Гў Г*ëôГ*ГўГЁГІГҐ
void shifr_pod()
{
     cout<<"Ââåäèòå ñîîáùåГ*ГЁГҐ,êîòîðîå áóäåò Г§Г*êîäèðîâГ*Г*Г*Г®.Г‹Г*ГІГЁГ*ñêèìè ГЎГіГЄГўГ*ìè,ГЎГҐГ§ ïðîáåëîâ!!!"<<endl;
    cin>>buff;
    lenght = strlen(buff);  
    cout<<endl;
    for(int i = 0;i < strlen(buff); i++)
        buff[i] += 3;
    cout<<"ÑîîáùåГ*ГЁГҐ Г§Г*øèôðîâГ*Г*Г*îå ìåòîäîì ïîäñòГ*Г*îâêè: ";
    cout<<buff<<endl;
}
//øèôðîâГ*Г*ГЁГҐ ìåòîäîì ïåðåñòГ*Г*îâêè
/*ГґГіГ*êöèÿ äëÿ ââîäГ* êëþ÷Г**/
void vvod_key()
{
    cout<<"Ââåäèòå äëèГ*Гі êëþ÷Г*: ";
    cin>>size;
    cout<<endl;
    keyReplace = new int[size];
    cout<<"Ââåäèòå êëþ÷: ";
    for(int i=0;i<size;i++)
        cin>>*(keyReplace+i);   
}
/*øèôðîâГ*Г*ГЁГҐ*/
void shifr_per()
{
    //char *msgTo, *msgOut;
    for(int i=lenght;i<lenght+size;i++)
    {
        *(buff+i)= ' ';
    }
//îïðåäåëåГ*ГЁГҐ áëîêîâ
    n = lenght/size;
    if(lenght%size>0) n++;
    *(buff1+lenght+size-1)='\0';
    //cout<<"num blocks "<<n<<endl;
    
    for(int i=0;i<n;i++)
        for(int j=0;j<size;j++)
        {   
            c = *(keyReplace+j)-1;
            *(buff1+i*size+j) = *(buff+i*size+c);
        }
    puts(buff1);    
}
/*äåøèôðîâГ*Г*ГЁГҐ ìåòîäîì ïîäñòГ*Г*îâêè*/
void deshifr_pod()
{
     cout<<"ÄåøèôðîâГ*Г*ГЁГҐ ìåòîäîì ïîäñòГ*Г*îâêè: ";
    for(int i = 0;i < strlen(buff1); i++)
        buff1[i] -= 3;
    cout<<buff1<<endl;
}
/*äåøèôðîâГ*Г*ГЁГҐ ìåòîäîì ïåðåñòГ*Г*îâêè*/
 
//ГЈГ«Г*ГўГ*Г*Гї ГґГіГ*êöèÿ
int main()
{
    setlocale(0,"RUS");
    shifr_pod();
    cout<<endl;
    vvod_key();
    cout<<endl;
    cout<<"ÑîîáùåГ*ГЁГҐ Г§Г*øèôðîâГ*Г*Г*îå ìåòîäîì ïåðåñòГ*Г*îâêè: ";
    shifr_per();
    cout<<endl;
    deshifr_pod();
    cout<<endl;
    
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru