Здравствуте ув. программеры, нужна помощь, есть шифр Цезаря на С++, но необходимо побайтово инвертировать уже переставленное слово и обратно, у меня получилось как просто инвертировать слово после обработки шифром, и обратно, а как это сделать побитово, недоганяю. Плиз хелпп.
| Код | #include <iostream> #include <fstream> #include <string> #include <stdio.h> using namespace std; int main() { setlocale(0,"RUS"); char buff1[100] = {0}; char buff2[100] = {0}; int key = 0;
cout<<"Введите сообщение,которое будет закодированно"<<endl; cin>>buff1; cout<<"Введите ключ"<<endl; cin>>key; for (int i = 0; i < strlen(buff1); i++) buff1[i] += key; cout<<"Кодированное сообщение\n"<<buff1<<endl; gets(buff2); for (int i=0; i<strlen(buff1); i++) { buff2[i]=buff1[strlen(buff1)-i-1]; } buff1[strlen(buff2)] = 0;
cout<<"Инвертированное сообщение\n"<<buff2;
gets(buff1); for (int i=0; i<strlen(buff2); i++) { buff1[i]=buff2[strlen(buff2)-i-1]; } buff2[strlen(buff1)] = 0; cout<<"Декодированное сообщение"<<endl; for(int i = 0;i < strlen(buff1); i++) buff1[i] -= key; cout<<buff1<<endl; system("pause"); return 0; }
|
|