На языке pascal. дана строка, где слова разделены пробелом (без знаков препинания). зашифровать строку так: каждое слово заменить числом. первое слово - 1 и все, с ним тоже 1. следующее -2 и т.д. например: саша шел по дороге шел саша шел и упал упал и заплакал. выход: 1 2 3 4 2 1 2 5 6 6 5 7

8Мария11 8Мария11    3   05.10.2019 12:01    0

Ответы
Samatova03 Samatova03  09.10.2020 21:36

var i,j,k,m,uk,ind: integer;

   s,sb: string;

   a: array[1..100] of string;

   priz: boolean;

begin

 write('строка: '); readln(s);

 uk:=0;

 k:=1; m:=1;

 for i:=1 to length(s) do

 begin

   if (s[i]=' ') or (i=length(s)) then  

   begin

     sb:='';

     for j:=m to k-1 do sb:=sb+s[j];  

     priz:=true;

     if uk>0 then

     begin

       for j:=1 to uk do  

       if sb=a[j] then

       begin

         priz:=false;

         ind:=j;

         break;

       end;  

     end;  

     if priz then

     begin

       uk:=uk+1;  

       a[uk]:=sb;    

       write(uk,' ');

     end

     else write(ind,' ');

     m:=i+1; k:=m-1;

   end;

   k:=k+1;

 end;

end.


строка: Саша шел по дороге шел Саша шел и упал упал и заплакал.

1 2 3 4 2 1 2 5 6 6 5 7

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика