0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
1

Сформировать алфавитный список уникальных слов

25.05.2019, 06:26. Показов 1151. Ответов 16
Метки нет (Все метки)

Нужно сформировать алфавитный список уникальных слов.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2019, 06:26
Ответы с готовыми решениями:

Сформировать алфавитный список уникальных слов
При считывании текстового файла сформировать алфавитный список уникальных слов.

Вернуть список уникальных слов из файла в нижнем регистре
День добрый:wall: Задание .Функция должна принимать имя файла, прочитать его и вернуть список...

Прочитать последовательность слов в список. Если количество слов четно, то тогда создать список из 2-го, 4-го и т.д. слов
Вот условие задачи(В файл занести последовательность слов. Прочитать последовательность слов в...

Сформировать в ListBox-е список всех слов, находящихся в тексте Memo
Ув. программисты!!! У меня к Вам огромная просьба! Помогите, ПОЖАЛУЙСТА, разобраться с TMemo....

16
Йуный падаван
Эксперт PythonЭксперт Java
13175 / 7602 / 2374
Регистрация: 21.10.2017
Сообщений: 18,778
25.05.2019, 08:07 2
bez_opIbTa, если имеются ввиду слова, встречающиеся только один раз, то можно, например, так
Python
1
2
3
4
5
6
def foo(string):
    di = {}
    for word in string.split():
        di[word] = di.get(word, 0) + 1
    res = sorted([i[0] for i in di.items() if i[1] == 1])
    print(*res, sep='\n')
Ну а если просто список встречающихся слов, то
Python
1
2
3
def foo(string):
    di = set(word for word in string.split())
    print(*sorted(di), sep='\n')
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
25.05.2019, 08:49  [ТС] 3
Все это конечно хорошо, только если бы на С++ написано было

Добавлено через 1 минуту
Крч, суть задания: мы создаём текстовый файл, туда записываем в любом порядке слова.
И нам эти слова нужно вывести в консоль по алфавиту, а если же одно слово встречается дважды, то его выводим только один раз!
0
Йуный падаван
Эксперт PythonЭксперт Java
13175 / 7602 / 2374
Регистрация: 21.10.2017
Сообщений: 18,778
25.05.2019, 08:52 4
bez_opIbTa, если тебе надо на плюсах, зачем тема в питоне????
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
25.05.2019, 08:55  [ТС] 5
И желательно написать все это с использованием только STL пакетов

Добавлено через 43 секунды
Я не заметил
Первое сообщение на этом форуме
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
25.05.2019, 08:57  [ТС] 6
Нужно сформировать алфавитный список уникальных слов.
Крч, суть задания: мы создаём текстовый файл, туда записываем в любом порядке слова.
И нам эти слова нужно вывести в консоль по алфавиту, а если же одно слово встречается дважды, то его выводим только один раз!
И желательно написать все это с использованием только STL пакетов
0
Модератор
Эксперт С++
12478 / 10032 / 6035
Регистрация: 18.12.2011
Сообщений: 26,849
25.05.2019, 09:37 7
Сформировать алфавитный список уникальных слов
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
25.05.2019, 09:53  [ТС] 8
А без использования regex никак нельзя??? Я еще не дошел в обучении до такого уровня
0
5571 / 3044 / 1274
Регистрация: 07.02.2019
Сообщений: 7,686
25.05.2019, 10:17 9
Цитата Сообщение от bez_opIbTa Посмотреть сообщение
А без использования regex никак нельзя
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
#include <string>
#include <iterator>
#include <map>
#include <algorithm>
#include <cctype>
 
int main()
{
    std::ifstream ifs{ "text.txt" };
    std::map<std::string, int> dict;
    std::for_each(std::istream_iterator<std::string>{ ifs }, {}, [&](const auto& w)
    {
        std::string word{ w };
        while (!word.empty() && !std::isalpha(word.back())) word.pop_back();
        ++dict[word];
    });
    std::for_each(dict.begin(), dict.end(), [](const auto& word) { if (word.second == 1) std::cout << word.first << std::endl; });
}
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
25.05.2019, 12:28  [ТС] 10
Всеравно ничего не понятно, ладно, может сам как-то разберусь

Добавлено через 2 минуты
Всёравно ничего не понятно, ну ладно, буду сам как-то разбираться. Спасибо
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
29.05.2019, 17:20  [ТС] 11
Ребят, я немного не догоняю(только начал учить с++), препод подсказал, что эту прогу можно сделать только с помощью
C++
1
<set>
.
Вот что я пытался сделать:
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
31
32
33
34
35
#include "pch.h"
#include <iostream>
#include <fstream>
#include <string>
#include <set>
#include <iterator>
 
using namespace std;
 
int main()
{
    ifstream ifs("text.txt", ios::binary);
    try
    {
        if (!ifs)
            throw 404;
        else
        {
            set<char> mySet;
            char temp;
            for (; ifs.get(temp);)
            {
                
            }
        }
    }
    catch (int)
    {
        cout << "File not exists" << endl;
        exit(404);
    }
    cout << endl;
    cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
    cout << "_________End of program_________" << endl;
}
Кто знает как переделать, помогите, пожалуйста!

Добавлено через 1 минуту
Не могу понять, как считать данные с файла в сэт.
0
162 / 69 / 39
Регистрация: 28.05.2019
Сообщений: 239
29.05.2019, 19:45 12
https://en.cppreference.com/w/cpp/container/set
0
3846 / 3143 / 876
Регистрация: 25.03.2012
Сообщений: 11,615
Записей в блоге: 1
29.05.2019, 20:37 13
тебе буквы нужны уникальные или таки слова? Потому что то что ты делаешь это работаешь таки с буквами.

Добавлено через 9 минут
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
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <fstream>
#include <string>
#include <set>
 
using namespace std;
 
int main()
{
    ifstream ifs("text.txt", ios::binary);
    set<string> any, unique;
    try
    {
        if (!ifs)
            throw 404;
        else
        {
            string temp;
            while (ifs >> temp)
            {
                if (any.find(temp) == any.end())
                {
                    any.insert(temp);
                    unique.insert(temp);
                }
                else
                    unique.erase(temp);
            }
        }
    }
    catch (int)
    {
        cout << "File not exists" << endl;
        exit(404);
    }
    cout << endl;
    cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
    cout << "_________End of program_________" << endl;
}
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
29.05.2019, 22:49  [ТС] 14
Слова нужно повыводить, в том коде я просто перебирал возможные варианты

Код твой тоже не работает(не выводит ничего)

Добавлено через 38 минут
Всё, я переделал, спасибо огромное)
0
3846 / 3143 / 876
Регистрация: 25.03.2012
Сообщений: 11,615
Записей в блоге: 1
29.05.2019, 23:41 15
bez_opIbTa, а что, так сложно вывести на экран unique что ли? Ты код мой вообще не читал, не вникал в него? Просто запустил и в экран позырил?
0
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 10
30.05.2019, 08:40  [ТС] 16
Kuzia domovenok, 27 строка не нужна, она будет стирать те слова, которые повторялись дважды.
0
3846 / 3143 / 876
Регистрация: 25.03.2012
Сообщений: 11,615
Записей в блоге: 1
30.05.2019, 12:43 17
bez_opIbTa, ясен пень будет, они же е уникальные.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2019, 12:43
Помогаю со студенческими работами здесь

Удалить из строки все слова, нарушающие алфавитный порядок слов
Имя процедуры/функции:DelWordsABC(s) Удалить из строки все слова, нарушающие алфавитный порядок...

По заданному тексту сформировать список слов, состоящих только из букв русского либо латинского алфавита
задание: По заданному тексту сформировать список слов, состоящих только из букв русского либо...

Имеется список слов. Составить список различных слов этого списка с указанием частоты их появления в списке
Имеется список слов. Составить список различных слов этого списка с указанием частоты их появления...

В файле задан список слов; составить список слов, встречающихся в списке только один раз
.В файле задан список слов. Составить список слов, встречающихся в списке только один раз. Почините...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru