Составить массив слов, входящих в строку - Turbo Pascal

Формулировка задачи:

Составить массив слов, входящих в строку s. Одинаковые слова не должны повторяться. Порядок следования слов в массиве должен соответствовать порядку вхождения каждого слова в строку.

Код к задаче: «Составить массив слов, входящих в строку - Turbo Pascal»

textual
Const
  ChSet = [' ','.',',',':',';','!']; {знаки-разделители слов - в самих словах не сохраняются}
  MaxN = 256 div 2;
Var
  m   : Array[1..MaxN] of String;
  Km  : Byte;
  i,j : Byte;
  St  : String;
Begin
 { Readln(St); } St:='. Мама: мыла раму,  а роза упала на лапу Азора!';
  St:=' '+St+' ';
  Km:=0;
  j:=1;
  If Length(St)=1 then
  Begin
    Inc(Km);
    m[Km]:=St;
  End
    else
    For i:=1 to Length(St) do
      Begin
        If ((St[i] in ChSet) and (St[j] in ChSet)) and (i-j>1) then
        Begin
          Inc(Km);
          m[Km]:=Copy(St,j+1,i-j-1);
          j:=i;
        End
          else
            If (St[i] in ChSet) then j:=i;
      End;
  For i:=1 to Km do Writeln(m[i]);
End.

14   голосов, оценка 3.929 из 5


СОХРАНИТЬ ССЫЛКУ