Создать программу для шифрования вводимого текста. Модуль шифрования передаёт в массив значения, которые представляют собой следующую конструкцию: код символа умножается на случайное число от 1 до 9; к полученному результату в начало приписывается эта цифра. Модуль дешифрования считывает этот массив и преобразует его в исходные символы (например, запись символа «а» кодируется след. образом: сгенерировалось случ. число 8; 8*1072=8576; приписываем спереди случайное число, получаем код 88576)- Pascal(Паскаль)

type mas=array[1..255]of integer;
procedure encode(s:string;var a:mas;var n:integer);
var i,k,p:integer;
    t:string;
begin
n:=length(s);
randomize;
for i:=1 to n do
 begin
  k:=1+random(9);
  p:=k*ord(s[i]);
  str(p,t);
  t:=chr(k+48)+t;
  val(t,a[i],k);
 end;
end;
procedure decode(a:mas;n:integer;var s:string);
var i,k,p,c:integer;
    t:string;
begin
s:='';
for i:=1 to n do
 begin
  str(a[i],t);
  k:=ord(t[1])-48;
  delete(t,1,1);
  val(t,p,c);
  p:=p div k;
  s:=s+chr(p);
 end;
readln
end;
var s:string;
    a:mas;
    n,i:integer;
begin
write('Введите строку для шиврования');
readln(s);
writeln('Зашифрованный текст');
encode(s,a,n);
for i:=1 to n do
write(a[i]);
writeln;
writeln('Расшифрованный текст');
decode(a,n,s);
write(s);
end.

Leave a Comment

2 + = 10