25.09.2012, 12:53 | #11 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Uses SysUtils,windows; Var n,kolsimvolov,i,j,k,l,akey,Code : Integer; text,textkey,textunkey,key,key1,S : String; p:boolean; Begin SetConsoleOutputCP(1251); Write('Enter the number of symbols per block: '); Readln(n); Repeat Write('Enter the key: '); Readln(key); If Length(key)<>n then writeln('Key must contain ',n,' symbols!'); p:=true; i:=0; repeat inc(i); j:=i; repeat inc(j); if j<=Length(key) then if (key[i]=key[j]) then p:=false; until Not(p) or (j=Length(key)); until i=Length(key)-1; If Not(p) then writeln('All key symbols must be different!'); Until (Length(key)=n) and p; Write('Enter the text: '); Readln(text); kolsimvolov:=Length(text); If (kolsimvolov mod n)>0 then for k:=Length(text)+1 to ((Length(text) div n)+1)*n do begin text:=text+' '; Inc(kolsimvolov); end; textkey:=''; For k:=0 to (kolsimvolov div n)-1 do begin i:=n*k; For j:=1 to n do begin S:=key[j]; VAL(S,akey,Code); textkey:=textkey + text[i+akey] end; end; Writeln('Encoded text: '+textkey); Repeat Write('Enter the key: '); Readln(key1); If key1<> key then writeln('Wrong key!'); Until key1=key; textunkey:=''; for l:=0 to (kolsimvolov div n)-1 do begin i:=l*n; for j:=1 to n do begin k:=0; repeat Inc(k); S:=key[k]; VAL(S,akey,Code); until akey=j; textunkey:=textunkey+textkey[i+k] end; end; Writeln('Decoded text: '+textunkey); Readln; End. |
|
25.09.2012, 12:53 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вот обсуждения, которые имеют общее с вашей темой Создать БП Как создать админ? Помогите создать программу на турбо Паскале Создать вирус Как создать ICQ-чат? Как создать свой FTP? |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|