Попробуй изменить такую программу, чтобы в массив
А не вставлялись повторяющиеся слова
Код
program strngs;
const razdel: set of char = [' ',',','.']; {разделители слов - пробел, точка, запятая. Больше не придумал +)}
var a: array[1..10] of string[20];
i, j, n : integer;
s, part: string;
begin
ReadLn(s);
i:=1; j:=1; n:=length(s);
while i<=n do
begin
while s[i] in razdel do inc(i); {пропускаем разделители слов}
while (i<=n) and not (s[i] in razdel) do
begin
part:=part+s[i]; inc(i); {накапливаем строку}
end;
a[j]:=part; {<== тут изменить +)}
inc(j) {ищем следующее слово}
end;
{Ну тут их вывести. В переменной j должно получиться количество слов}
end.
Слово накапливается в строке
part, перед тем, как добавлять его в массив, нужно проверить, нет ли его уже там.
Все-таки такое уже было на форуме... что-то искать лень.
Можно сделать, как говорит
P@sh@, будет короче, но можно запутаться (наверное... я как-то писАл так, долго глючил. С тех пор так вот делаю +) ). А эта программа, по-моему, проще для понимания.