Дана строка S, состоящая из слов, разделённых пробелами. Выведите все слова, которые встречаются в S ровно один раз. Формат входных данных Во входном файле дана строка S. Строка S состоит из строчных букв латинского алфавита и ...

Дана строка S, состоящая из слов, разделённых пробелами. Выведите все слова, которые встречаются в S ровно один раз. Формат входных данных Во входном файле дана строка S. Строка S состоит из строчных букв латинского алфавита и пробелов; в ней есть хотя бы одна буква, ёe длина не превышает 100 символов. Формат выходных данных Выведите все слова, которые встречаются в S ровно один раз. Каждое слово выводите на новой строке в том порядке, в котором они встречаются в S. Примеры: Вход to be or not to be Выход or not. UPD. На Free Pascal надо
Гость
Ответ(ы) на вопрос:
Гость
var s,s1,s2:string; p,k:integer; begin writeln('Введите строку:'); readln(s); s1:=s+' '; while pos('  ',s1)>0 do delete(s1,pos(' ',s1),1); while s1<>'' do begin p:=pos(' ',s1); s2:=copy(s1,1,p-1); delete(s1,1,p); k:=1; while pos(s2,s1)>0 do begin k:=k+1; delete(s1,pos(s2,s1),p); end; if k=1 then writeln(s2); end; end. Пример: Введите строку: to be or not to be or not 
Не нашли ответ?
Ответить на вопрос
Похожие вопросы