Задача ** языке Pascal. Дана строка, где слова разделены пробелом (без знаков...

0 голосов
40 просмотров

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


Информатика (114 баллов) | 40 просмотров
Дан 1 ответ
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


(9.7k баллов)