Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на строки

Автор: Stud 22.12.2007 13:46

Народ помиогите решить задачу

Из данного предложения вычеркнуть слова, встречающиеся больше двух раз.
uses crt;
var s,s1,a:string;
i:integer;
k:byte absolute s;
begin
s:='';s1:='';
clrscr;
write('Input phrase: ');readln(s);
while s[1]=' ' do delete(s,1,1);
while s[k]=' ' do dec(k);
while pos(' ',s)<>0 do delete (s,pos(' ',s),1);
a:='';s:=s+' ';
repeat
s1:=copy(s,1,pos(' ',s)-1);
delete(s,1,length(s1)+1);
if pos(s1,s)=0 then a:=a+' '+s1;
until length(s)=0;
write('Modified string: ',a);
readln
end.

Почему вычеркивает не все слова. wacko.gif

Автор: andriano 22.12.2007 15:54

Наиши алгоритм по-русски.
Мне, например, совершенно непонятен ни смысл удаления всех пробелов из строки, ни тот спсосб, которым это делается.

Автор: Гость 22.12.2007 17:02

andriano
Да я сам ничего не понялмне знакомый помог.