С++ Закодируйте фразу 039;Съешь же ещё этих мягких французских булок, да
С++
Закодируйте фразу 'Съешь же ещё этих мягеньких французских булок, да опьяней чаю' с помощью шифра Цезаря. Со сдвигом на 7.
1 ответ
Почиталова Евгения
Dec C++
include lt;iostreamgt;
include lt;cstringgt;
using namespace std;
int main()
setlocale (LC_CTYPE, "Russian");
char alpha[] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
char buff[]="Съешь же ещё этих мягеньких французских булок, да опьяней чаю.";
int n = 66, k=7;
k %= n;
for (int i = 0; i lt; sizeof(buff)-1; ++i)
if (strchr(alpha,buff[i]))
buff[i] = alpha[(strchr(alpha,buff[i])-alpha+k) % n];
coutlt;lt;bufflt;lt;endl;
system("pause");
return 0;
include lt;iostreamgt;
include lt;cstringgt;
using namespace std;
int main()
setlocale (LC_CTYPE, "Russian");
char alpha[] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
char buff[]="Съешь же ещё этих мягеньких французских булок, да опьяней чаю.";
int n = 66, k=7;
k %= n;
for (int i = 0; i lt; sizeof(buff)-1; ++i)
if (strchr(alpha,buff[i]))
buff[i] = alpha[(strchr(alpha,buff[i])-alpha+k) % n];
coutlt;lt;bufflt;lt;endl;
system("pause");
return 0;
Даниил Авгаров
Сможете разъяснить вот этот кусок for (int i = 0; i < sizeof(buff)-1; ++i) if (strchr(alpha,buff[i])) buff[i] = alpha[(strchr(alpha,buff[i])-alpha+k) % n]; ?
Sachakov Anatolij
Функция strchr() исполняет поиск первого вхождения символа в строку, т.е. в строке alpha ищется очередной (i-ый) символ данной строчки buff. Если символ найден, т.е. если проверяемый знак - российская буковка, то из строчки alpha берётся знак, номер которого на k больше, чем номер текущего знака.
Света
Если при сложении выходит значение >= 66 (= числу знаков в alpha), то номер определяется как остаток от деления полученного значения на 66. К примеру, для буквы "ю": 64+7 = 71, 71 % 66 = 5. Таким образом, буква "ю" заменяется на 5-ый знак строчки alpha, т.е. на "Е".
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
задание экономиоти
Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких
Экономика.
Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности
Экономика.
там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо
Русский язык.
Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.
Разные вопросы.
Сочинение на тему "Русский язык не сможет умереть!"
Математика.
Приветствую!
Меня зовут Станислав, я представляю компанию under.site.
Хотел бы предложить интересное решение
Разные вопросы.
Масса трёх одинаковых пакетов чая 180г чему равна масса
Математика.
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Облако тегов