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

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

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

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

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

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

Расшифровка строки (циклическим сдвигом букв латинского алфавита на n символов) C++
Строки (Код Цезаря) C++
C++ строки. расшифровка текста
Расшифровка элементов записи кода в С++ C++
написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы вперед (алфавита) C++
C++ Расшифровка кода
C++ Получение виртуального кода клавиши из строки
Объясните значение строки кода C++
C++ Не понятен смысл строки кода
C++ Объяснение строки кода
Код Цезаря. Полуавтоматическая расшифровка C++
Объяснить, что происходит в заданном фрагменте кода (шифр Цезаря) C++

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

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

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