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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lenster
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 33
#1

Зашифровать текст по ключу - C++

13.10.2016, 11:31. Просмотров 663. Ответов 3
Метки нет (Все метки)

Разработать функцию программиста, которая шифрует строку, заменяя каждый символ другим символом по следующему правилу: к коду первого по счету символа добавляется первая цифра ключа, к коду второго символа - вторая цифра ключа, к коду третьего символа - третья цифра ключа, к коду четвертого символа - опять первая цифра ключа и так далее.
Зашифровать текст по ключу (заданному в виде трехзначного числа). Текст строки вводится с клавиатуры.

Помогите с выполнением программы. Не понимаю как реализовать программу.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2016, 11:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Зашифровать текст по ключу (C++):

Зашифровать текст - C++
Здравствуйте ! Помогите,пожалуйста,составить программу,которая бы считывала русский текст из файла "input.txt" и кодировала его,заменяя...

Зашифровать текст - C++
. Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву...

зашифровать текст - C++
На C++ как зашифровать текст,чтобы буквы выводились в любом порядке в слове.

Зашифровать текст С++ - C++
Нужно текст взять из текстового документа File.txt, и вывести в текстовый-зашифрованный файл вот что я сделал #include...

Зашифровать текст - C++
Зашифровать данное слово, используя таблицу ASCII-кодов: Printer И дешифровать, используя таблицу ASCII-кодов: 43 4F 4D 50 55 54 45 52 ...

Зашифровать текст - C++
Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно...

3
IpHuman
14 / 14 / 1
Регистрация: 28.01.2015
Сообщений: 26
13.10.2016, 12:35 #2
Советую воспользоваться асоциативным контейнером map или multimap. В mар тип значения отличается от типа ключа, причем ключи уникальны
и на каждый ключ приходится только одно значение. Тип multimap подобен mар, за исключением того, что один ключ может быть связан с несколькими значениями.
К примеру в твоем случае:
C++
1
multimap<int, string> codes;
Один из возможных подходов - создание пары и вставка ее в объект multimap:
C++
1
pair<const int, string> item(213, "List");
Остальное - дело логики.
0
VAN0
58 / 58 / 33
Регистрация: 05.05.2013
Сообщений: 150
Завершенные тесты: 1
13.10.2016, 12:38 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от IpHuman Посмотреть сообщение
Советую воспользоваться контейнером map или multimap. В mар тип значения отличается от типа ключа, причем ключи уникальны
и на каждый ключ приходится только одно значение. Тип multimap подобен mар, за исключением того, что один ключ может быть связан с несколькими значениями.
зачем такие трудности, здесь все решается элементарно:
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{   string str;
    cout << "Enter string: ";
    cin >> str;
    int key = 0;
    cout << "Enter key(three digit): ";
    do
    {
        cin >> key; 
        if (key < 1000 && key > 99) break;
        cout << "Invalid key. Enter key (three digit) again: ";
    
    } while (true);
    
    int key_array[3];
    key_array[0] = key/100%10;
    key_array[1] = key/10%10;
    key_array[2] = key%10;
    int index_key = 0;
    for (int i = 0; i< str.length(); i++)
    {
           str[i] += key_array[index_key];
           if (index_key == 2)  index_key = 0;
           else     index_key ++;
    }
    cout << "Cript string:\n" << str;
    index_key = 0;
    for (int i = 0; i< str.length(); i++)
    {
           str[i] -= key_array[index_key];
           if (index_key == 2)  index_key = 0;
           else     index_key ++;
    }
    cout << "\nDecript string:\n" << str;
    cin.get();
    return 0;       
}
1
IpHuman
14 / 14 / 1
Регистрация: 28.01.2015
Сообщений: 26
13.10.2016, 12:46 #4
Цитата Сообщение от VAN0 Посмотреть сообщение
зачем такие трудности, здесь все решается элементарно:
Думаю здесь вы правы, но через шаблоны тоже как вариант можно реализовать. Хотя для такой не большой задачи можно и обойтись.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2016, 12:46
Привет! Вот еще темы с ответами:

Текстовый редактор. Зашифровать текст. - C++
подскажите пожалуйста не пойму что надо сделать??? &quot;файл должен храниться в зашифрованном виде: над каждым симво-лом файла произвести...

Зашифровать текст, используя таблицу ASCII-кодов - C++
Помогите зашифровать данный текст, используя таблицу ASCII-кодов: Компилятор. Добавлено через 7 минут #include &lt;iostream&gt; ...

Зашифровать текст методом простой одинарной перестановки - C++
Кто умеет писать коды по шифрованию текста? Добавлено через 37 секунд Кто умеет писать коды по шифрованию текста?

Зашифровать текст заменив каждый символ другим символом - C++
Дан русский текст, записанный с помощью букв и знаков препинания. Зашифровать данный текст, заменив каждый символ другим символом - его...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru