Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 6.62 KB | None | 0 0
  1. var
  2.     max,logmax,logserch,n,k: byte;
  3.     x: real;
  4.     d,it1,itu,b,b1,v,its,its1,itp,itp1,i,j,q,w: integer;
  5.     s: string;
  6.     logS: array [1..1089] of byte :=(2,7,8,6,7,7,7,7,4,7,7,7,8,8,3,7,6,7,8,2,6,6,7,7,5,5,0,0,0,0,6,7,9,7,1,1,0,1,6,2,2,6,0,5,6,3,5,7,2,7,5,0,7,0,5,4,1,0,5,5,7,2,2,0,3,5,8,0,5,0,4,8,0,3,7,1,6,7,5,6,8,4,6,6,6,6,0,3,0,1,3,0,0,8,2,0,0,4,8,6,0,1,1,6,5,0,0,6,0,4,5,4,4,8,0,7,0,0,6,0,0,1,2,0,0,0,0,0,0,0,0,4,8,1,6,3,4,8,1,0,7,0,4,7,1,7,8,4,6,5,2,7,1,3,3,3,4,0,0,6,4,0,4,5,7,5,5,6,7,8,6,6,6,4,7,7,8,8,9,6,5,8,8,9,3,3,6,5,6,5,6,0,0,1,1,5,5,9,6,0,0,0,6,7,2,1,7,0,5,0,2,7,1,0,1,2,1,3,0,0,0,0,0,0,0,0,2,0,0,0,2,8,4,6,2,6,4,1,1,6,1,5,5,6,6,7,1,5,0,0,6,0,0,2,1,0,0,2,6,2,0,0,4,6,6,6,7,6,6,8,5,7,7,7,7,6,8,8,5,5,7,8,8,1,5,7,7,7,6,3,0,1,0,0,6,7,9,0,0,3,0,3,0,0,0,0,0,3,6,5,4,0,0,0,6,6,0,0,0,1,2,3,0,0,0,0,0,0,0,8,8,1,5,1,1,6,5,2,7,1,2,7,0,5,8,0,7,6,6,7,0,0,6,0,1,0,0,0,0,0,0,0,7,8,4,1,2,1,8,6,1,8,0,4,4,1,6,7,0,0,3,3,6,3,0,0,3,1,1,0,6,8,0,7,8,6,7,5,7,2,2,8,0,1,7,0,4,4,7,6,8,5,1,3,1,6,1,0,0,0,0,0,0,7,3,0,0,6,8,9,0,3,3,6,8,1,1,9,0,6,0,1,7,8,0,0,5,7,6,5,2,5,3,0,0,0,8,5,0,4,6,7,2,8,8,8,8,6,7,7,6,8,7,8,8,7,6,7,8,8,8,3,2,5,6,7,6,5,0,0,1,5,2,5,9,7,0,0,0,0,8,0,4,7,0,3,6,1,4,8,4,9,4,5,6,2,0,1,0,0,0,0,4,5,3,0,4,4,9,1,6,4,4,8,6,0,8,0,5,2,6,6,8,4,2,6,6,7,3,5,4,2,4,2,0,7,4,0,1,6,7,6,4,6,2,5,7,2,0,7,0,7,8,6,6,8,7,5,6,9,6,3,5,1,5,5,0,0,5,6,1,3,8,7,8,2,7,1,4,8,0,0,8,0,6,4,5,6,9,3,8,8,4,6,0,0,0,4,0,2,1,7,8,0,1,5,8,3,4,4,6,6,7,6,5,3,3,6,5,5,6,0,6,7,7,7,1,5,5,0,6,3,6,0,0,0,0,7,4,8,6,0,0,0,0,5,0,0,6,0,0,2,2,0,6,0,4,0,3,5,4,0,0,0,0,0,0,1,0,0,0,0,2,4,3,3,0,0,4,0,0,3,0,1,1,0,5,6,0,5,3,1,3,0,0,2,0,0,0,1,0,0,0,0,0,8,5,0,6,0,0,6,0,0,7,0,0,0,0,0,3,0,0,0,0,4,0,0,0,0,0,0,0,5,0,0,0,0,5,7,0,1,0,0,8,0,0,7,0,6,1,0,6,2,0,1,0,7,3,0,0,0,1,3,0,0,1,3,0,0,0,4,5,0,0,0,0,6,0,0,7,0,3,3,0,3,4,0,3,0,3,4,0,0,0,0,0,0,0,0,4,0,0,0,5,6,0,0,0,0,7,0,0,6,0,0,0,0,2,0,0,2,0,0,4,0,0,0,0,0,0,0,0,4,0,1,0,1,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,4,7,3,5,7,1,5,1,7,5,5,6,2,1,5,5,5,6,0,0,7,0,5,4,1,0,1,0,0,0,1,8,0,1,0,0,0,3,0,7,1,0,6,0,4,7,1,0,0,6,4,0,0,0,0,1,6,1,0,0,0,0,6,2,8,0,0,4,0,0,1,0,0,0,2,6,5,2,1,0,2,0,1,7,0,4,3,0,0,0,0,0,0,0,0,0,0,1,0,5,0,0,2,0,1,2,0,4,1,0,0,0,0,0,0,3,7,0,0,0,0,6,1,7,0,0,1,0,3,0,7,0,1,5,2,5,6,2,5,0,2,2,3,6,5,0,1,4,4,7,0,0,4,4,3,0,4,0,0,0,0,6,4,9,7,8,9,7,8,7,5,8,8,3,8,6,8,9,9,9,8,9,8,7,7,6,7,8,5,1,1,2,1,8,2,6,0);
  7.     a: array [,] of char;
  8.     best: array [,] of integer;
  9.     alf: array [1..33] of char; // массив под символы русского языка и пробел
  10. begin
  11.     b:=0;
  12.     b1:=0;
  13. // инициализация массива букв и пробела
  14.     alf[1]:='а';alf[2]:='б';alf[3]:='в';alf[4]:='г';alf[5]:='д';alf[6]:='е';alf[7]:='ж';alf[8]:='з';alf[9]:='и';alf[10]:='й';alf[11]:='к';alf[12]:='л';alf[13]:='м';alf[14]:='н';alf[15]:='о';
  15.     alf[16]:='п';alf[17]:='р';alf[18]:='с';alf[19]:='т';alf[20]:='у';alf[21]:='ф';alf[22]:='х';alf[23]:='ц';alf[24]:='ч';alf[25]:='ш';alf[26]:='щ';alf[27]:='ъ';alf[28]:='ь';alf[29]:='ы';alf[30]:='э';alf[31]:='ю';alf[32]:='я';alf[33]:=' ';
  16.     write('Введите строку '); // получить строку
  17.     readln(s); // читаем строку (строка должна быть без лишних пробелов и без заглавных букв
  18.     writeln('длинна строки =',length(s)); //техническая строка, вывод длинны строки
  19.       q:=5;
  20.       w:=5;
  21.     a:= new char[q,w];//инициализация размерности динамического массива
  22.     best:= new integer[w,w];
  23.     n:=0;k:=0;
  24. // инициализация новой матрицы под закодированное сообщение и присвоение значений из строки, в матрицу
  25.     For j:=0 to q-1 do begin  //перебор по строкам
  26.         itp1:=j;//техническая переменная
  27.        For i:=0 to w-1 do begin //перебор по столбцам
  28.               itp:=i;//техническая переменная
  29.               a[i,j]:= s[(itp1+1)+(itp*w)];//присвоение ячейки массива значения эквивалентного строке,множенной на размерность строки, с прибавлением столбца
  30.              write(i,'',j,'=',a[i,j],'   ');
  31.               end;
  32.               writeln();
  33.               end;
  34.               for i:=0 to w-1 do begin // перебираем каждый столбец
  35.               for j:=0 to w-1 do begin //с каждым столбцом
  36.               if i=j then best[i,j]:= -1000
  37.               else begin //eсли нет то
  38.                     for itu:=0 to q-1 do begin //перебор по строкам
  39.                     for it1:=1 to 33 do begin //перебор по символам
  40.                     if a[i,itu]=alf[it1] then b:=it1;
  41.                     end;
  42.                     if b=0 then b:=6;
  43.                     for it1:=1 to 33 do begin
  44.                     if a[j,itu] = alf[it1] then b1:=it1;
  45.                         end;
  46.                         if b1=0 then b1:=6;
  47.                         d:=d + logS[(b-1)*33+b1];
  48.                         b1:=0;
  49.                         b:=0;
  50.                         end;
  51.                         best[i,j]:=d;
  52.                         d:=0;
  53.                         end;
  54.                         end;
  55.                         end;
  56.                         for i:=0 to w-1 do begin
  57.                         logmax:=best[i,j];
  58.                         for j:=0 to w-1 do begin
  59.                         logserch:=best[i,j];
  60.                         if logmax < logserch then begin logmax:=logserch; max:=j; end;
  61.                         write(i,',',j,'=',best[i,j],' ');
  62.                         end;
  63.                         writeln();
  64.                        write('maxfor',i,'is',max,'=',logmax);
  65.                         writeln();
  66.                        
  67.                         end;
  68.                         for i:=0 to w-1 do begin
  69.                         logmax:=best[i,j];
  70.                         for j:=0 to w-1 do begin
  71.                         logserch:=best[i,j];
  72.                         if logmax < logserch then begin logmax:=logserch; max:=j; end;
  73.                         if best[i,j]<> 1000 then
  74.                         write('logS[',i,',',j,']:=',best[i,j],';')
  75.                         else write('  ,')
  76.                         end;
  77.                         writeln();
  78.                         writeln();                      
  79.                         end;
  80.                         for j:=0 to 4 do
  81.                         writeln(a[2,j],a[0,j],a[4,j],a[3,j],a[1,j]);
  82.    end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement