Skip to content

Instantly share code, notes, and snippets.

@oma256
Created June 26, 2018 17:44
Show Gist options
  • Save oma256/3e662c52c3ce63d077b3ef687df0a798 to your computer and use it in GitHub Desktop.
Save oma256/3e662c52c3ce63d077b3ef687df0a798 to your computer and use it in GitHub Desktop.
/*Программа шифрования кодом Цезаря*/
#include <stdio.h>//необходимо для printf
#include <conio.h>//необходимо для getch
#include <string.h>//необходимо для puts
#include <clocale>
int main()
{
setlocale(LC_CTYPE, "rus");
/*инициализируем переменные*/
int i=0, n=0, k;
int d;
char alf[] = "abcedfghijklmnopqrstuvwxyz0123456789#!@$%^&*-+="; //словарь
char buf[10]; //массив для ввода сообщения
char decod[10]; //массив для ввода сообщения
/*вывод названия программы*/
printf("\nПрограмма шифрования и дешифрования метод \"Цезар\"\n");
/*Процедура шифрования ввод*/
printf("\n***Шифрование***");
printf("\nВведите слово для шифрования (английские слова):");
scanf("%s",&buf); //ввод слова или цифр
printf("\nВведите ключ, (от 1 до 10): ");
scanf("%i",&k); //вводим ключ
for (n=0; n < 10; n++)
{
for (i = 0; i < 47; i++)
{
if (buf[n] == alf[i])
{
if (i >= 47)
buf[n] = alf[i-47];
else
buf[n] = alf[i+k]; //сдвигаем вправо на показания шага ключа
break; //принудительно выходим из цикла
}
}
}
printf("\nЗашифрованное слово = %s\n", buf);//выводим полученный шифр
/*Процедура дешифрования ввод*/
printf("***Дешифрование***\n");
printf("\nВведите зашифрованное слово : ");
scanf("%s",&decod); //вводим шифр
printf("\nВведите ключ, (от 1 до 10): ");
scanf("%i",&d); //вводим ключ
for (n=0; n < 10; n++)
{
for (i = 0; i < 47; i++)
if (decod[n] == alf[i])
{
if (i >= 47)
decod[n] = alf[i-47];
else
decod[n] = alf[i-d]; //сдвигаем влево на показания шага ключа
break; //принудительно выходим из цикла
}
}
printf("\nДешифрованный результат= ");
puts (decod); //выводим код
getch(); //задержка программы
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment