Я должен расшифровать сообщение (в данный момент просто делаю отдельные слова) и превратить его обратно в правильное слово. У меня есть ключ шифрования (строка из 26 букв, где первая буква — это то, во что превращается A, вторая — то, во что превращается B и т. д.), который мне нужно использовать, чтобы вернуться к исходному слову. Мой код почему-то не имеет ошибок, но не декодируется и через некоторое время просто убивается серверами. Не знаю, почему он не будет правильно выполнять функцию дешифрования. Может ли кто-нибудь увидеть проблему с моим кодом, которую я не вижу?
Я пробовал код на Eclipse Che, а также на кодовой доске (я новый студент универа, еще не профессионал), и он нигде не работает. У меня есть работающий фрагмент кода, который шифрует сообщение практически таким же образом, но код расшифровки (по сути, то же самое, только наоборот) просто не будет работать.
В моем коде строка фразы — это слово, которое должно быть расшифровано, алфавит — это алфавит (очевидно), а ключ шифрования — это строка, представляющая, во что превращается каждая буква алфавита.
char subdecrypt(char *phrase, char *encryptionKey);
char alphabetdecrypt(char *phrase, char x, char *encryptionKey);
int main()
{
char phrase[206]="NCPPQ NQYRBMY";
char alphabet[200]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char encryptionKey[200]="QAZXSWEDCVFRTGBNHYUJMKILOP";
printf("The decryption is:\n");
subdecrypt(phrase, encryptionKey);
return 0;
}
char subdecrypt(char *phrase, char *encryptionKey)
{
char i=0, x=0;
char alphabet[200]="ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
while(phrase[i] != 0)
{
while(phrase[i] != encryptionKey[x])
{
x++;
}
alphabetdecrypt(phrase, x, encryptionKey);
i++;
}
}
char alphabetdecrypt(char *phrase, char x, char *encryptionKey)
{
char alphabet[200]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
encryptionKey[x]=alphabet[x];
printf("%c", alphabet[x]);
}
Фраза, жестко закодированная с этим, должна быть расшифрована в PIZZA. Но в настоящее время на выходе ничего нет, и код в конечном итоге уничтожается.
while(phrase[i] != '\0'
вместоwhile(phrase[i] != 0
- person Sandy   schedule 18.04.2019encryptionKey[x]=alphabet[x];
? - person Sandy   schedule 18.04.2019