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

Сортировка строк файла по убыванию популярности

12.05.2019, 18:10. Показов 2268. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Дан файл, где в каждой строке пароль и его популярность (пример: 12321 5). Нужно считать файл, отсортировать строки по убыванию популярность и вывести 10 самых популярных паролей.

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

Вот что пока получилось:

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
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    
    ifstream file("F:\strings.txt", ios::in | ios::binary);
 
    if (file.is_open())
    {
        cout << "Файл открыт." << endl;
        
        cout << "\tПароль:";
        cout << "\tПопулярность:" << endl;
 
        string line;
 
        while (getline(file, line))
        {
            string password;
            int popularity;
 
            istringstream iss(line);
 
            iss >> password >> popularity;
 
            cout << "\t" << password;
            cout << "\t" << popularity << endl;
        }
    }
    
    
    // Сортировка и вывод массива
    
    
    
    else
    {
        cout << "Не удалось открыть файл." << endl;
    }
 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2019, 18:10
Ответы с готовыми решениями:

Склеивание текстовых файлов и сортировка строк результирующего файла по убыванию или по возрастанию
Здравствуйте. Помогите написать батник, к сожалению наработок нет. Вот задание: Разработать...

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

Сортировка строк по убыванию сумм элементов строк
Я рандомно задал массив M x N: #include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; #define...

Как вывести наименования товаров по убыванию популярности
У нас три таблицы users(id, login, phone, created_at), orders(id, user_id, product_id,...

3
57 / 40 / 21
Регистрация: 26.09.2018
Сообщений: 215
12.05.2019, 18:19 2
C++
1
2
3
4
5
#include <vector>
#include <algorithm>
void StrSort(std::vector<std::string> &v) {
    std::sort(v.begin(), v.end());
}
Добавлено через 27 секунд
Ну и строки считывать в вектор.
0
5885 / 3289 / 1351
Регистрация: 07.02.2019
Сообщений: 8,313
12.05.2019, 18:24 3
Лучший ответ Сообщение было отмечено Muhamoriche как решение

Решение

Muhamoriche,
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>
 
struct password
{
    std::string pass;
    int popl;
};
 
std::istream& operator>>(std::istream& is, password& p) { return is >> p.pass >> p.popl; }
std::ostream& operator<<(std::ostream& os, const password& p) { return os << p.pass << '\t' << p.popl; }
 
int main()
{
    std::ifstream ifs{ "F:\\strings.txt" };
    std::vector<password> vp{ std::istream_iterator<password>{ifs}, {} };
 
    std::sort(vp.begin(), vp.end(), [](const auto& lh, const auto& rh) { return rh.popl < lh.popl; });
    int count{10};
    auto p = vp.begin();
    while (count-- && p != vp.end()) std::cout << *p++ << std::endl;
}
1
0 / 0 / 0
Регистрация: 12.05.2019
Сообщений: 2
12.05.2019, 19:14  [ТС] 4
Спасибо за помощь!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2019, 19:14
Помогаю со студенческими работами здесь

Сортировка строк по убыванию
Уважаемые форумчане, прошу Вас помочь в решении следующей задачки: Условие: объединить одинаковые...

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

Сортировка строк матрицы по убыванию
Помогите пожалуйста кто-нибудь с программой. Она работает, но неправильно. Мне нужно отсортировать...

Сортировка строк матрицы по убыванию
Сортировка строк матрицы по убыванию Задание было такое, отсортировать по убыванию каждую строку...

Сортировка строк по убыванию номера
Ребят, здорова. Тема такая. В мемо Лазаруса есть строки: 1 ехали 4 поехали 2 приехали 8...

Сортировка строк матрицы по убыванию
Помогите пожалуйста написать функцию. Например, была матрица 10 11 12 13 20 21 22 23 30 31 32 33...


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

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

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