Помощь - Поиск - Пользователи - Календарь
Полная версия: Шифровщик
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
givi
Вот небольшая программа для шифровки сообшений!uses crt;
Код
var s,key,s_res,ss,sim:string;
i,p,N:integer;
begin
clrscr;
  key:=' [b]йцукенгшщзхъфывапролджэячсмитьбю[/b] ';
   Write('Ввести сообшение-');Readln(s);
     n:=Length(s);
 for i:=1 to n do begin
      sim:=copy(s,i,1);
      p:=pos(sim,key);
      str(p,ss);
     If (p<10) then ss:='00'+ss;
    If  (p<100) then ss:='0'+ss;
    s_res:=s_res+ss;
  end;
 write('Шифр-',s_res);
 readkey;
end

Тобиш она переводит слова в цифры по ключевому слову(key) и цифры соответствуют пазиции буквы но в трех-значной форме т.к ключом может быть любое выражение содержащее все буквы алфовита!
Помогите составить расшифровшик тут поменять чето надр а вот че? Смекалки не хватает blink.gif
volvo
givi

1. У тебя есть ощибка при шифровании:
Вместо

Код

 If (p<10) then ss:='00'+ss;
 If  (p<100) then ss:='0'+ss;


нужно делать так:

Код

 If (p<10) then ss:='00'+ss
 else If  (p<100) then ss:='0'+ss;


2. Дешифровщик при тех же объявленных переменных делается так:

Код

{ дополнительные переменные }
var
 err: integer;
 s_src: string;

 i := 1; s_src := '';
 { в строке s_res содержится зашифрованный текст }
 while i <= length(s_res) do
   begin
     ss := copy(s_res, i, 3);
     while ss[1] = '0' do
       delete(ss, 1, 1);
     val(ss, p, err);
     s_src := s_src + key[p];
     inc(i, 3)
   end;
 writeln( 'исходная строка:', s_src )
Digitalator
А смысл такого шифровчика? smile.gif он вскрывается на мощной машине за пару часов.... правда если только для практики в програмировании...... rolleyes.gif
GoodWind
Digitalator, смысл в отработке техники програмирования...
Digitalator
Цитата
Digitalator, смысл в отработке техники програмирования...

ну так я не отрицаю:
Цитата
правда если только для практики в програмировании...... 
givi
Это нас препод string(У) Учит!


Спасибо за прогу!
Ростислав
Отличный шифровальщик спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.