С++ Закодируйте фразу 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;

Даниил Авгаров
Сможете разъяснить вот этот кусок 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, т.е. на "Е".
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
задание экономиоти Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких

Экономика.

Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности

Экономика.

там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо

Русский язык.

Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.

Разные вопросы.

Сочинение на тему "Русский язык не сможет умереть!"

Математика.

Приветствую! Меня зовут Станислав, я представляю компанию under.site. Хотел бы предложить интересное решение

Разные вопросы.

Масса трёх одинаковых пакетов чая 180г чему равна масса

Математика.

Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл

Химия.

Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы

Русский язык.

Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника

Геометрия.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт