メッセージ :mmZ\dxZmx]Zpgy
を対応するASCII番号に変換するコンバーターを作成する必要があります。この式を使用します
if(OriginalChar+Key > 126)
EncryptedChar = 32 + ((OrgiginalChar + Key) - 127);
else
EncryptedChar = (OrginalChar + Key);
この問題の鍵は 1 から 100 までの任意の数であるため、意味のあるメッセージが作成されるまで、考えられるすべての鍵を使用して数式を試行する必要があります。
だから、誰かが私が間違っていることを教えてくれるか、正しい方向に向けることができますか
#include <iostream>
#include <cstdlib>
using namespace std;
void converter(char OriginalChar, int Key);
int main()
{
char OriginalChar[16] = ":mmZ\\dxZmx]Zpgy";
int Key;
converter((int)OriginalChar, Key);
system("pause");
return 0;
}
void converter()(char OriginalChar, int Key)
{
char answer;
for (Key = 0; Key <= 100; Key++)
{
if (OriginalChar - Key < 32)
{
answer = (((OriginalChar - Key) + 127) - 32);
}
else
{
answer = (OriginalChar - Key);
}
cout << (char)answer;
}
}