Задать вопрос
7 марта, 19:40

Дана строка S, состоящая из слов, разделённых пробелами. Выведите все слова, которые встречаются в S ровно один раз. Формат входных данных Во входном файле дана строка S. Строка S состоит из строчных букв латинского алфавита и пробелов; в ней есть хотя бы одна буква, ёe длина не превышает 100 символов. Формат выходных данных Выведите все слова, которые встречаются в S ровно один раз. Каждое слово выводите на новой строке в том порядке, в котором они встречаются в S. Примеры: Вход to be or not to be Выход or not.

UPD. На Free Pascal надо

+2
Ответы (1)
  1. 7 марта, 22:36
    0
    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
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Дана строка S, состоящая из слов, разделённых пробелами. Выведите все слова, которые встречаются в S ровно один раз. Формат входных данных ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы