Мой вопрос о PSET CS50. Цель состоит в том, чтобы создать какую-то программу шифрования. Из аргументов командной строки вводится ключ, и каждая буква ключа должна быть заменена буквой алфавита. В качестве примера:
$ ./substitution YTNSHKVEFXRBAUQZCLWDMIPGJO
plaintext: HELLO
ciphertext: EHBBQ
Мой код еще не совсем подходит для концепции, но я беспокоюсь, что даже логика c протекала в нем. Это дает ошибку сегментации после того, как это выполнено, и я не полностью уверен с логи c. Некоторая помощь будет хорошей. Спасибо всем за ваше время.
#include <stdio.h>
#include <cs50.h>
#include <string.h>
int main(int argc,string argv[]){
int i,p;
//JTREKYAVOGDXPSNCUIZLFBMWHQ
string alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string plaintext = get_string("plaintext: ");
for(i=0,p=0;i<26;i++,p++)
{while (p<=strlen(plaintext)&&((int)argv[1][i]>=65||(int) argv[1][i]<=90))
{
if ((int)plaintext[p] == (int)alphabet[i])
{plaintext[p] = (int)argv[1][i];}
i++;
}
}
printf("%s\n",plaintext);
}