Вопрос задан 18.02.2019 в 19:49.
Предмет Информатика.
Спрашивает Бакулин Андрей.
Дана строка 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
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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи, необходимо вывести все слова, которые встречаются в строке S ровно один раз.
Алгоритм решения:
1. Создадим словарь, где ключами будут слова из строки S, а значениями - количество раз, которое слово встречается в строке. 2. Разделим строку S на слова, используя пробелы в качестве разделителя. 3. Для каждого слова в полученном списке, увеличим его значение в словаре на 1. 4. Пройдемся по словарю и выведем все слова, у которых значение равно 1.Реализация на Python:
```python S = input() # Ввод строки S words = S.split() # Разделение строки на словаword_count = {} # Словарь для подсчета количества слов
for word in words: if word in word_count: word_count[word] += 1 else: word_count[word] = 1
for word, count in word_count.items(): if count == 1: print(word) ```
Пример работы программы: ``` Вход: to be or not to be Выход: or not ```
Примечание: Данное решение предполагает, что слова в строке S разделены только пробелами и не содержат знаков препинания. Если в строке S могут быть знаки препинания, необходимо провести дополнительную обработку строки, чтобы удалить знаки препинания перед разделением на слова.
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
