Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/411: Рейтинг темы: голосов - 411, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 07.02.2019
Сообщений: 4
1

Шифр Цезаря С++

18.03.2019, 18:44. Показов 81292. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уже долго сижу, мучаюсь. Не могу понять, что я делаю не так. Подскажите пожалуйста что неправильно, как исправить и где можно почитать по этой теме.
Суть задания:
Реализовать программно шифрование шифром Цезаря:
- алфавит задать в теле программы (АБВГДЕЖЗИЙКЛМНПРСТФХЦЧШЩЪЫЬЭЮЯ_.,0123456789);
- сообщение и значение ключа вводится с клавиатуры;
- результат шифрования выводится на экран.

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
#include<iostream>
#include<Windows.h>
#include<string>
using namespace std;
 
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int i=0, j=0, k;
char ABC[]={'А','Б','В','Г','Д','Е','Ж','З','И',
            'Й','К','Л','М','Н','О','П','Р','С',
            'Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ',
            'Ы','Ь','Э','Ю','Я','_','.',',','0',
            '1','2','3','4','5','6','7','8','9'};
char msg[80];
cout<<"Введите сообщение, которое будет закодировано: "<<endl;
cin>>msg;
cout<<"\nВведите сдвиг:"<<endl;
cin>>k;
cout<<endl;
for (i=0; i<strlen(msg); i++)
{   if(i==' ') msg[i]=' ';
    else{
    for (j = 0; j < 45; j++)
    {
        if (msg[i] == ABC[j])
        {
        if (j >= 45)
        msg[i] = ABC[i-45];
        else
        msg[i] = ABC[j+k];
        break;
        }
    }}
    
}
cout<<"Полученное закодированное сообщение: "<<endl;
cout<<msg<<endl;
return 0;
}
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2019, 18:44
Ответы с готовыми решениями:

Шифр цезаря
Столкнулся с такой проблемой нужно &quot;Разработать прикладное приложение для шифрования текста с...

Шифр Цезаря
Доброго времени суток всем Задача состоит в том,чтобы считать txt,и зашифровать его шифром...

Шифр Цезаря
Объясните пожалуйста есть формула для шифра Цезаря :En(x) = (x +n)mod26 почему в коде надо еще...

C++ Шифр Цезаря
Help нужно написать программу на С++, которая шифрует русские и английские слова. Делает запрос на...

1
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
18.03.2019, 19:45 2
Лучший ответ Сообщение было отмечено MMoment как решение

Решение

лень искать про этот шифр, попробуйте так:
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
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int i = 0, k;
    char ABC[] = { 'А','Б','В','Г','Д','Е','Ж','З','И',
                'Й','К','Л','М','Н','О','П','Р','С',
                'Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ',
                'Ы','Ь','Э','Ю','Я','_','.',',','0',
                '1','2','3','4','5','6','7','8','9' };
    char msg[80];
    cout << "Введите сообщение, которое будет закодировано: " << endl;
    cin.getline(msg, 80);
    cout << "\nВведите сдвиг:" << endl;
    cin >> k;
    cout << endl;
    char* begin = ABC;
    char* end = ABC + sizeof(ABC);
    for (; msg[i]; ++i)
    {
        char* ch = find(begin, end, msg[i]);
        if (ch != end) msg[i] = *(begin + (ch - begin + k) % sizeof(ABC));
    }
    cout << "Полученное закодированное сообщение: " << endl;
    cout << msg << endl;
    return 0;
}
Добавлено через 5 минут
только добавьте
C++
1
#include <algorithm>
2
18.03.2019, 19:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2019, 19:45
Помогаю со студенческими работами здесь

Шифр Цезаря
Вот есть готовый код программы, может, кому понадобиться:) #include&lt;iostream&gt; #include&lt;conio.h&gt;...

Шифр Цезаря
есть код программы для взлома Шыффра Цэзара но никак немогу доделать ее чтобы взломать строку ...

Шифр Цезаря
Здравствуйте. Помогите, пожалуйста. Необходимо сделать так, чтобы шифр не вылезал за рамки...

Шифр Цезаря
text - исходный code - закодированный decode - дешифрованный после компиляции в файл code в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru