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

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

07.05.2021, 20:49. Показов 1746. Ответов 2
Метки нет (Все метки)

Я сделала сортировку в алфавитном порядке, а сделать в обратном порядке не получается, помогите пожалуйста
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
#include <iostream>
#include <fstream>
#include <map>
#include <iomanip>
using namespace std;
 
int main()
{
    ifstream ifs("11.txt");
    if(!ifs)
    {
        cout << "file not created, wrong name or file path" <<endl;
        return 1;
    }
 
    cout << "file exists" << endl;
 
    string bufer;
    map<string, unsigned> statik;
   for( ; ifs>>bufer ; )
    {
       auto it = statik.find(bufer);
       if(it!=statik.end()){
            it->second++;
       }
       else{
            statik.insert(pair<string,unsigned>(bufer,1));
       }
    }
    ifs.close();
 
    for(auto it = statik.begin(); it !=statik.end(); it++)
        cout << left << it->first << endl;
 
 
    cout << "Hello world!" << endl;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2021, 20:49
Ответы с готовыми решениями:

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

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

При считывании текстового файла сформировать алфавитный список уникальных слов в обратном порядке
Я сделала сортировку в алфавитном порядке, а сделать в обратном порядке не получается, помогите...

Дан список из 20 слов. Напечатать его в обратном алфавитном порядке, предварительно удалив из него повторяющиеся слова
Дан список из 20 слов по 10 символов в каждом. Напечатать его в обратном алфавитном порядке,...

2
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
07.05.2021, 21:02 2
Лучший ответ Сообщение было отмечено User522 как решение

Решение

C++
1
map<string, unsigned, std::greater<string>> statik;
0
Мозгоправ
1735 / 1029 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
08.05.2021, 11:13 3
Лучший ответ Сообщение было отмечено User522 как решение

Решение

User522, в данном коде использование std::map видится избыточным. Достаточно std::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
36
#include <iostream>
#include <fstream>
#include <set>
#include <iomanip>
using namespace std;
 
int main()
{
    ifstream ifs("11.txt");
    if (!ifs)
    {
        cout << "file not created, wrong name or file path" << endl;
        return 1;
    }
 
    cout << "file exists" << endl;
 
    string bufer;
    //set<string> statik_forward;
    set<string, greater<string>> statik_backward;
    while (ifs >> bufer)
    {
        //statik_forward.insert(bufer);
        statik_backward.insert(bufer);
    }
    ifs.close();
 
    //for (const auto &word : statik_forward)
    //  cout << left << word << endl;
    //cout << "----- backward --------------------------" << endl;
    for (const auto &word : statik_backward)
        cout << left << word << endl;
 
    cout << "Hello world!" << endl;
    return 0;
}
К слову, в вашем коде строки 18-30 можно написать несколько компактнее:
C++
1
2
3
4
5
6
7
    string bufer;
    map<string, unsigned> statik;
    while (ifs >> bufer)
    {
        ++statik[bufer];
    }
    ifs.close();
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2021, 11:13
Помогаю со студенческими работами здесь

Дан список слов, напечатать его в обратном алфавитном порядке, предварительно удалив из него повторяющиеся слова
Ребята, помогите пожалуйста с задачками по ассемблеру! Написать нужно на чистом ассемблере и с...

Ввести от 1 до 30 слов и сделать вывод этих слов в обратном порядке
Текст задания: Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5...

Вывести из текста список уникальных слов
Пользователь вводит текст. Программа выводит список уникальных слов.

Сформировать последовательность уникальных чисел, содержащихся в строке, отсортировав их в порядке убывания
Есть задание: Из заданной строки сформировать последовательность уникальных чисел содержащихся в...

Обеспечить ввод и вывод списка слов в прямом и обратном порядке, и вычисление числа слов в этом списке
Изменить программу так, чтобы она обеспечивала ввод и вывод списка символов в прямом и обратном...

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


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

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

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