Проверьте пожалуйста мою программу,правильно ли сделана?Очень нужно,умоляю.Условие такое:Дана последовательность,содержащая от 1 до 30 слов,в каждом из которых от 1 до 5 строчных латинских букв,между соседними словами-запятая,за последними словами-точка.Напечатать все различные слова,встречающиеся в последовательности более двух раз.Заранее огромное спасибо.Вот она: var base:array[1..30] of string;
i,j,n,m,count:integer;
s,buf:string;
f:text;
begin
writeln('s: ');
Readln(S);
m:=0;
j:=1;
for i:=1 to length(s) do // разбиваем строку на массивы
begin
if not (s[i] in['.',',']) then
Base[j]:=Base[j]+S[i];
if s[i] in['.',','] then
Begin
Inc(m);
Inc(j)
End;
End;
For i:=1 to m do // удаляем лишние пробелы из строк массива
Begin
While Pos(' ',Base[i]) > 0 do
Delete(Base[i],Pos(' ',Base[i]),1)
end;
buf:='';
For i:=1 to m-1 do //ищем слова, чье количество больше двух
Begin
count:=0;
For j:=i to m do
If Base[i]=Base[j] then Inc(Count);
If (Count > 2) and (Pos(Base[i],buf) = 0) then buf:=Buf+' '+Base[i]
End;
Writeln(Buf);
readln
End.