Наткнулся на задание с шифрованием через XOR. В нем было сказано, что нужно вводить ключ в программу 3-мя способами. Последний из них: ключ вводится в прямой последовательности, а потом в обратной. То есть "ШифррфиШ", а символы текста, который шифруется, просто идут прямо себе. Никак не могу понять, какой создать для этого цикл. Спасайте, я тупенький. Только не предлагайте создать сам ключ, который повторяет себя наоборот, мне именно циклом надо)
Извращение делать это одним циклом вместо двух последовательных, но вот: https://ideone.com/Q34qbh
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string s;
cin >> s;
for (size_t q=1, n=0, w=~0U; q<s.length(); ++q)
if (n)
cout << s[q] << ' ' << s[++w %= n] << endl;
else if (equal(s.begin(), s.begin()+q, s.rend()-1-q))
n = q+1 >> 1;
return 0;
}
Вариант с двумя циклами: https://ideone.com/jt6ImD
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string s;
size_t n;
cin >> s;
for (n=2; n<s.length() && !equal(s.begin(), s.begin()+n-1, s.rend()-n); ++n);
n >>= 1;
for (size_t q=n+1, w=0; q<s.length(); ++q, ++w%=n)
cout << s[q] << ' ' << s[w] << endl;
return 0;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть запрос, который содержит кириллические символы(думаю вся проблема в них)
Уже задавал такой вопрос, но ответа нет: не обрабатывается событие KeyDownВот сам обработчик: