|
|
|
новичок
      
участник
Last Login: 28.09.2006 15:01
Сообщ.: 2,
Visits: 4
|
|
Здраствуйте, я очень надеюсь что вы мне поможете!
Мне нужно написать алгоритм шифрования и дешифрования Цезаря
Алгоритм такой:
Берем i-ый символ и заменяем его на i+{шаг}, где шаг постоянная величина например число 3.
Буквы, выходящие за пределы алфавита, возвращаются к началу. Так, при сдвиге 3 букве z исходного текста соответствует буква с зашифрованного текста и т. д.
В обыкновенном консольном режиме! На С++.
После лета всё вылетело из головы, даже не знаю с чего начать!
Будьте так добры помогите!
v duwe ja blondinka
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.03.2008 15:26
Сообщ.: 701,
Visits: 7 028
|
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.03.2008 15:26
Сообщ.: 701,
Visits: 7 028
|
|
void Ceasar(char* str, int step) { int len = strlen(str); for(int i = 0,i<len,i++) { str[i] = str[i] + step; if(str[i] > 'z') str[i] = str[i] - 'z' + 'a'; if(str[i] < 'a') str[i] = str[i] - 'a' + 'z'; } }
Вот пример реализации алгоритма. Для обратного кодирования нужно задавать step со знаком минус!
|
|
|
|
|
новичок
      
участник
Last Login: 28.09.2006 15:01
Сообщ.: 2,
Visits: 4
|
|
eto gde-to o4enj gluboko!
potomu 4to vnewne ja brjunetka!
za algoritm gromadnoe spasibo!!!!!! =)
v duwe ja blondinka
|
|
|
|