Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
1

Строка: Вывести на печать слова, которые встречаются в строке более одного раза.

02.12.2020, 16:34. Показов 3054. Ответов 14

Author24 — интернет-сервис помощи студентам
Задание:
Дана строка символов, состоящая из отдельных слов, отдели-ленных пробелом. Вывести на печать слова, которые встречаются в строке более одного раза.

Если не сложно то пожалуйста с комментариями.
Нужно максимально срочно, помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2020, 16:34
Ответы с готовыми решениями:

Найти слова которые встречаются в строке более одного раза
Задание: Дана строка символов, состоящая из отдельных слов, отдели-ленных пробелом. Вывести на...

Определите слова, которые встречаются в строке более одного раза, и количество их повторений
Приветствую, форумчане! Задание: дана строка слов, разделенных пробелами. Определите слова,...

Вывести слова которые встречаются более одного раза
Пользователь вводит предложение на англ.языке. Программа должна вывести на экран слова, которые...

Вывести слова, которые встречаются в предложении более одного раза
Пользователь вводит предложение на английском языке. Программа выводит слова, которые встречаются...

14
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
02.12.2020, 21:59 2
Лучший ответ Сообщение было отмечено sdfafsdf как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <unordered_map>
#include <iterator>
 
int main()
{
    std::string s;
    std::cout << "Input a string: ";
    std::getline(std::cin, s);
 
    std::string word;
    std::stringstream stream{s};
    std::unordered_map<std::string, unsigned> word_occurence;
    while (stream >> word)
    {
        ++word_occurence[word];
    }
 
    std::cout << "Words appearing more than once: " << std::endl;
    for (const auto & [w, o] : word_occurence)
    {
        if (o > 1)
            std::cout << w << " occurs " << o << " times" << std::endl;
    }
 
    return 0;
}
1
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
02.12.2020, 22:08  [ТС] 3
Спасибо. А почему вы писали почти в каждой строке std, если можно было в начале написать using namespace std? Или я ошибаюсь?
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
02.12.2020, 22:18 4
Цитата Сообщение от sdfafsdf Посмотреть сообщение
А почему вы писали почти в каждой строке std, если можно было в начале написать using namespace std? Или я ошибаюсь?
Так легче отличить стандартные сущности от пользовательских и избежать конфликта имен.
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
02.12.2020, 22:26  [ТС] 5
компилятор не выводит слово которое встречается в строке больше одного раза. Выводит все слова: Input a string: Words appearing more than once Words:
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
02.12.2020, 22:41 6
Цитата Сообщение от sdfafsdf Посмотреть сообщение
компилятор не выводит
Компилятор и не должен ничего выводить. А вот программа всё делает верно (см. скрин ниже).
Миниатюры
Строка: Вывести на печать слова, которые встречаются в строке более одного раза.  
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
03.12.2020, 00:17  [ТС] 7
А, всё, уже и у меня работает, только почему у меня после Input a string: не пишет что я ввёл?
И не могли бы вы ещё этот код написать на Python??

Добавлено через 1 час 25 минут
Ну так что, не не можете помочь с питоном?
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
03.12.2020, 10:49 8
Лучший ответ Сообщение было отмечено sdfafsdf как решение

Решение

Цитата Сообщение от sdfafsdf Посмотреть сообщение
Ну так что, не не можете помочь с питоном?
Да там практически то же самое. Гляну сегодня.

Цитата Сообщение от sdfafsdf Посмотреть сообщение
почему у меня после Input a string: не пишет что я ввёл?
А должно?

Добавлено через 54 минуты
Цитата Сообщение от sdfafsdf Посмотреть сообщение
код написать на Python
Python
1
2
3
t =  ['test', 'test1', 'test', 'test', 'test2', 'test2']
import collections
print([item for item, count in collections.Counter(t).items() if count > 1])
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
03.12.2020, 12:37  [ТС] 9
Спасибо. Но если не сложно не могли бы вы пожалуйста написать полностью код на питоне, а то я новичок, не уверен даже что напишу все библиотеки правильно, или ничего не забуду. Вот на примерах учусь.
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
03.12.2020, 13:19 10
Лучший ответ Сообщение было отмечено sdfafsdf как решение

Решение

Цитата Сообщение от sdfafsdf Посмотреть сообщение
полностью код на питоне,
А это практически полный код. Не хватает только ввода списка слов t. Идем в Гугл и пишем: ввод списка слов Python.
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
03.12.2020, 13:21  [ТС] 11
Хорошо, спасибо
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
03.12.2020, 19:30  [ТС] 12
А что такое t и те все test? И зачем ввод списка слов если оно выводит эти test, а то что ввожу я то оно на них не реагирует
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
03.12.2020, 20:19 13
t это фиксированный список слов для проверки. Чтоб что-то вводило, тебе надо это реализовать. В Пайтоне это несложно.
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
03.12.2020, 20:35  [ТС] 14
Да, спасибо. Уже вроде разобрался. С вами можно как-то связаться. Просто сегодня Очень нужно сделать ещё две лабораторки, на С++ или на питоне одну, и одну тоже на питоне и её же на С++ чуть исправить, можете помочь пожалуйста!? Я даже по итогу могу скинуть какую-то денюжку.
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
04.12.2020, 08:54  [ТС] 15
Ну так что, нет?
0
04.12.2020, 08:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2020, 08:54
Помогаю со студенческими работами здесь

Дана строка символов до точки, вывести те слова которые встречаются 2 раза в строке.
Дана строка символов до точки. Группы символов в неё между группами пробелов читаются словами....

Удалить слова, которые встречаются более одного раза
Добрый день. Помогите пожалуйста решить задачу: &quot;Ввести предложение, слова в которых разделены...

Найти элементы в строке двухмерного массива которые встречаются в данной строке более одного раза
В i-й строке двумерного массива найти и вывести в ОДНОЙ (!) строке - элементы, которые...

Исключить из файла все слова, которые встречаются более одного раза
Найти в файле f все слова которые встречаются более одного раза исключить их с файла f и получить...

Напечатать все слова, которые встречаются в последовательности более одного раза
Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных русских...

Напечатать все слова, которые встречаются в последовательности более одного раза
Дана последовательность, состоящая от 1 до 30 слов в каждом из которых от 1 до 5 малых латинских...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru