Информатика, вопрос задал lisa103845 , 7 лет назад

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

Ответы на вопрос

Ответил srzontmp
0

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


Новые вопросы