Домашнее задание к 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;
}

 

 


Оставить комментарий





Версия для печати