Домашнее задание к 16 декабря
Некто написал программу, которая умеет зашифровывать строку по числовому ключу. К вам в руки попала эта программа и зашифрованное ей сообщение. Напишите программу (можно на основе данной), которая расшифрует сообщение.
Сообщение:
f i y vktpkxryivv!Gf f.Tb z idkvjvwYlrvkvsj igfigv mi fuas rvrgvwf y yc.
17
Код программы:
#include <iostream>
using namespace std;
int key, n, k;
string s, cypher;
int main()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
getline(cin, s);
cin >> key;
cypher=s;
n=s.size();
for(int i=0;i<n;i++)
{
if(s[i]>='a' && s[i]<='z')
cypher[i] = 'a' + ((s[i]-'a') + key)%26;
// (s[i]-'a') - номер буквы s[i] в алфавите
else
cypher[i] = s[i];
}
for(int i=1;i<n;i+=2)
cout << cypher[i];
for(int i=0;i<n;i+=2)
cout << cypher[i];
cout << endl << key;
return 0;
}
Версия для печати