Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // KatyaCezarCrypt.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <iostream>
- int main()
- {
- setlocale(LC_ALL, "Russian");
- using namespace std;
- char buff[50] = { 0 };
- const short int start_alphabet = 97; // ASCII код буквы 'a'
- const short int end_alphabet = 122; // ASCII код буквы 'z'
- cout << "Введите сообщение,которое будет закодированно: ";
- cin >> buff;
- cout << endl;
- cout << "Введите шаг кодировки: ";
- short int step;
- cin >> step;
- cout << endl;
- // Кодируем сообщение
- for (int i = 0;i < strlen(buff); i++)
- // сделаем проверку на то, чтобы мы не вышли за границу ASCII кодов алфавита английского языка строчных букв
- if ((int(buff[i])+step) > end_alphabet) {
- // Выясняем на сколько нам следует передвинуть в начале
- short int new_pos = int(buff[i])+step - end_alphabet;
- // Присваиваем закодированное значение для буквы
- buff[i]= start_alphabet + new_pos - 1;
- }
- else buff[i] = buff[i] + step;
- cout << "Encode: " << endl;
- cout << buff << endl;
- // Декодируем сообщение
- for (int i = 0;i < strlen(buff); i++)
- // опять проверка на выход из границ
- if ((int(buff[i])-step) < start_alphabet) {
- // перебрасываем в конец алфавита, если ушли за начало
- short int new_pos = start_alphabet - int(buff[i]-step) ;
- // присваиваем раскодированное значение
- buff[i]=end_alphabet - new_pos + 1;
- }
- else buff[i] = buff[i] - step;
- cout << "Decode: " << endl;
- cout << buff << endl;
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment