Так что я хочу сделать шифрование в принципе.То, как я это делаю, - это создание двух массивов и переключение значений.Проблема, с которой я сталкиваюсь, состоит в том, что когда массивы представляют собой массив символов, это не работает.Но когда я преобразовываю в числа ASCII, это делает.Вот пример того, как будут выглядеть эти два массива:
char* plainarray[26] = ["a","b","c"] //this would go on for the entire alphabet
char* cryptarray[26] = ["p","j","n"] //this array is the entire alphabet randomized
Затем я создал значения для открытого текста и зашифрованного текста и значения для цикла for.Например.
char plain[5] = "hello";
char* change[5] = {};
int i;
int j;
length = strlen(text); //length of string for for loop
Затем я использую два цикла for для добавления зашифрованных значений в «crypt»
for(i=0; i<length; i++){
for (j = 0; j <26; j++){
if (plain[i] == plainarray1[j]){
change[i] = cryptarray2[j];
}
}
}
Код предупреждения, который я получаю при компиляции:
warning: comparison between pointer and integer
Одним из решений моей проблемы было использование чисел ASCII в массиве простого текста и превращение его в массив int.Это сравнивает два символа, но порядок алфавита будет случайным для этой проблемы, поэтому я не могу этого сделать.Есть лучший способ сделать это?Кроме того, мой массив и назначение для измененного текста («изменить») правильно?Это не дает ему правильного вывода.