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