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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
*krIsTiNa*
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 46
#1

Строки: расшифровка кода Цезаря - C++

30.03.2011, 16:05. Просмотров 2516. Ответов 4
Метки нет (Все метки)

Как правильно составить программу для расшифровки текста.
Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.)
Размер сдвига символов принять равным номеру буквы в слове.
Например, ЕРП шифруется как слово ДОМ.
Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует.
Для выделения слов из строки и расшифровки слова создать пользовательские функции.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2011, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки: расшифровка кода Цезаря (C++):

Код Цезаря. Полуавтоматическая расшифровка - C++
Всем доброго времени суток! Мне нужно реализовать полуавтоматическую расшифровку по коду Цезаря на с++,и у меня совершенно нет идей как...

Расшифровка кода - C++
Извеняюсь если создал тему не там. У меня возникла проблема вот в чём: —в® § ¦Ёў®в*®Ґ Ё§®Ўа ¦Ґ*® * д®в®Ја дЁЁ? ( *Ј«.п§. 3 а § ,...

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

Манчестерский код, расшифровка двоичного кода кадра Ethernet II - C++
есть осцилограмма и есть двоичный код (кадр Ethernet II) в архиве, необходимо перевести из 2ого в 10ую как пример на скрине, левая часть...

Объяснить, что происходит в заданном фрагменте кода (шифр Цезаря) - C++
#include <iostream> #include <string> #include <conio.h> #include <stdlib.h> #include <sstream> #include <fstream> using...

Строки (Код Цезаря) - C++
Дан текст, состоящий из N (2N10) строк с максимальной длиной 80 символов. Необходимо вывести этот текст, зашифрованный кодом Цезаря. (Код...

4
IrineK
Заблокирован
30.03.2011, 17:05 #2
слова состоят только из букв
Больших?
Маленьких?
Больших и маленьких?
0
afiskon
65 / 53 / 3
Регистрация: 06.09.2010
Сообщений: 254
30.03.2011, 17:14 #3
Цитата Сообщение от *krIsTiNa* Посмотреть сообщение
Как правильно составить программу для расшифровки текста.
Код Цезаря заменяет одну букву другой, отстоящей от нее на заданное количество позиций в алфавите. Например, при сдвиге, равном 1, буква А заменяется на Б, Б — на В, …, Я — на А.)
Размер сдвига символов принять равным номеру буквы в слове.
Например, ЕРП шифруется как слово ДОМ.
Считать, что текст написан синтаксически грамотно, в качестве знаков препинания используются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует.
Для выделения слов из строки и расшифровки слова создать пользовательские функции.
Создаешь таблицу допустимых символов. Идешь по тексту, увеличивая счетчик по модулю количества элементов в таблице. Делаешь замену в соответсвии с описанием. Для расшифровки используешь инвертированную таблицу.
1
*krIsTiNa*
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 46
02.04.2011, 17:32  [ТС] #4
Цитата Сообщение от IrineK Посмотреть сообщение
Больших?
Маленьких?
Больших и маленьких?
наверное из больших..про это же в условии ничего не сказано.
0
CEBEP
107 / 107 / 9
Регистрация: 21.03.2010
Сообщений: 444
02.04.2011, 18:46 #5
//ща...

Добавлено через 14 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void deCode(char* st)
{
    int i = -1,
        numInWord = 0;
    while(st[++i])
    {
        while(st[i] && st[i] >= 'ГЂ' && st[i] <= 'Гџ')
        {
            st[i] -= numInWord - ( st[i] - numInWord < 'ГЂ' ? 'Гџ' - 'ГЂ' : 0 );
            ++i;
            ++numInWord;//åñëè Г±Г·ГЁГІГ*ГҐГ¬ Г± Г*óëÿ...
        }
        numInWord = 0;
        while(st[i] && ( st[i] < 'ГЂ' || st[i] > 'Гџ' )) 
            ++i;
 
    }
}
вроде бы так...
2
02.04.2011, 18:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2011, 18:46
Привет! Вот еще темы с ответами:

строки. расшифровка текста - C++
Задача: В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение. Написал код не знаю как исправить ошибки...

написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы вперед (алфавита) - C++
написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы(алфавита)

Расшифровка строки (циклическим сдвигом букв латинского алфавита на n символов) - C++
Дано зашифрованный строку символов, состоящий из букв латинского алфавита. Создать функцию, которая возвращает расшифрован строку символов...

Объяснение строки кода - C++
#include&lt;iostream&gt; using namespace std; int main() { int x;//Определенный тип данных, который необходимо ввести while( !...


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

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

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