С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Шифрирование/дешифрирование сообщения (шыфр Цезаря) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ количество четных и нечетных элементов http://www.cyberforum.ru/cpp-beginners/thread242506.html
задача состоит в том чтоб вывести количество четных и нечетных элементов из 10 вводимых, буду рад если кто-нибудь объяснит сам алгоритм задачи ....
C++ Вопрос по контейнеру mар Хочу сделать массив такой структуры: id = 1 - название (конечное, больше ничего не включает) 2 - полка (конечное, больше ничего не включает) 3 - состояние (конечное, больше ничего не... http://www.cyberforum.ru/cpp-beginners/thread242490.html
Обработка нажатий клавиш в ListBox C++
уверен такой вопрос уже был, в поиске смотрел, не нашёл :-[ собственно вопрос, не работают обработчики нажатия клавиш, если в фокусе находится listbox, перепробовал буквально всё: WM_CHAR,...
Разобраться с delete [] C++
Господа программисты!!! Помогите решить проблему. Есть матрица, созданная динамично int **matrix = new int*; for (int i = 0; i < M; i++) matrix = new int;
C++ Перевести простую программку с Delphi http://www.cyberforum.ru/cpp-beginners/thread242471.html
Имеется программа на Delphi. Нужно перевести на C++ procedure TForm1.Button1Click(Sender: TObject); var s, sum, i, j, n: integer; p: string; begin s:= 0; sum:= 0; n:=StrToInt(edit1.Text); for...
C++ Метод простой итерации помогите пожалуйста! решить уравнение методами простой итерации ,касательных и хорд с допустимой погрешностью е=10(в -4 степени).в случае нескольких корней найти наименьший из них. Не... подробнее

Показать сообщение отдельно
roman ua
1 / 1 / 0
Регистрация: 06.03.2009
Сообщений: 25

Шифрирование/дешифрирование сообщения (шыфр Цезаря) - C++

14.02.2011, 01:47. Просмотров 983. Ответов 1
Метки (Все метки)

Само задание: Нужно написать прогу на С(С++) которая реализует шифрирование/дешифрирование исходного сообщения при помощи шифра Цезаря с учетом того, что сообщения, которое необходимо зашифровать, написано на украинском языке. У меня есть рабочий код но мне надо чтоб можна было зашифрировать еще и пробелы а также большые литеры алфавита и сделать чтоб алгоритм был универсальным, тоесть для любого ключа! У меня например ключ 17( тоесть зсув на 17 символов) .
Вот рабочий код:
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
#include <iostream>
#include <stdio.h>
#include <cstdlib>
using namespace std;
int main()
{
    system ("chcp 1251");
    int Value=-1;
    char code[]=  {'а','б','в','г','ґ','д','е','є','ж','з','и','і','ї','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ь','ю','я','\0'};
    char decod[]={'н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ь','ю','я','а','б','в','г','ґ','д','е','є','ж','з','и','і','ї','й','к','л','м','\0'};
    char str[100],fin[100];
    
begin:      
        cout<<"Введіть '1' - кодування з ключем 17 "<<endl<<"Введіть '2' - декодування з ключем 17"<<endl<<"Введіть '0' вихід із програми"<<endl;
        cin>>Value;
        if(Value == 1)
            goto label1;
        if(Value == 2)
            goto label2;
        if(Value == 0)
            goto exit;
label1:
        
            cout<<"Введіть рядок для кодування"<<endl;
            cin>>str;
            int len=strlen(str);
 
            for(int i= 0;i<len;i++)
                for(int j= 0;j<33;j++)
                    if(str[i]==code[j])
                        fin[i]=decod[j];
 
            for(int i= 0;i<len;i++)
                cout<<fin[i];
            cout<<endl;
            goto begin;
        
label2:        
            cout<<"Введіть рядок, який необхідно розкодувати"<<endl;
            cin>>str;
            len=strlen(str);
 
            for(int i= 0;i<len;i++)
                for(int j= 0;j<33;j++)
                    if(str[i]== decod[j])
                        fin[i]=code[j];
 
            for(int i=0 ;i<len;i++)
                cout<<fin[i];
            cout<<endl;
            goto begin;
            
exit:
return 0;        
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.