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

Используя STL контейнер создать каталог песен

22.03.2015, 22:05. Показов 1943. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста написать программу на С++. Буду очень благодарна)

Текстовый файл содержит информацию о каталоге песен в форме – (исполнитель, название). Требуется поместить информацию в подходящий контейнер и выполнить следующие действия. А) отсортировать по фамилии исполнителя. Б) выдать все названия песен заданного исполнителя или сообщение об ошибке при неверной фамилии исполнителя
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2015, 22:05
Ответы с готовыми решениями:

Используя STL контейнер создать БД для поиска назания страны по названию города
Есть список из n стран. Страна с номером i содержит ai городов. Также есть q запросов: каждый запрос характеризуется названием города....

Как удалить элементы используя контейнер STL ?
здесь удаляется по одному элементу, (т.е. передаётся один итератор), а как удалить сразу несколько элементов(т.е. передать два итератора),...

Используя STL контейнер set заполнить массив
Задание 2. Данную задачу решить не используя метод sort, а используя STL контейнер: set. Заполнить массив размером 10 случайными числами от...

5
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
22.03.2015, 22:07
Цитата Сообщение от Vabichevitch Посмотреть сообщение
помогите пожалуйста написать программу на С++
какие есть идеи по реализации?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,983
Записей в блоге: 237
23.03.2015, 08:40
Пусть это C++ для начинающих, но я бы сейчас хранил в базе данных, например, в SQLite. В Qt эта база данных идёт в комлекте и есть классы для работы с ней
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
23.03.2015, 10:38
Предлагаю использовать multimap. Исполнитель - первое(ключевое) поле, название - второе поле.
Тогда сортировка по исполнителю будет автоматическая.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.03.2015, 10:42
zss, А я бы пожалуй посоветовал
C++
1
map<string, set<string>>
. Как-то это удобнее по-моему, нежели использовать lower_bound/upper_bound постоянно.
1
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,646
Записей в блоге: 6
23.03.2015, 13:01
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Пусть это C++ для начинающих, но я бы сейчас хранил в базе данных, например, в SQLite. В Qt эта база данных идёт в комлекте и есть классы для работы с ней
Эта база данных встраиваемая. Никто не мешает ее использовать и без Qt.
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
#include <iostream>
#include "sqlite3.h"
 
int main(int argc, char **argv){
 
    sqlite3 *db = 0;
    char *err = 0;
    const char* statement = "CREATE TABLE catalog(id INTEGER PRIMARY KEY, name TEXT, track TEXT);"
                            "INSERT INTO catalog VALUES(0, 'AbbA', 'Happy new jear');";
    if( sqlite3_open("database.db", &db) )
        std::cerr << "Error create database: " << sqlite3_errmsg(db);
    if (sqlite3_exec(db, statement, 0, 0, &err)) {
        std::cerr << "Error executing SQLite query: " << err;
        sqlite3_free(err);
    }
    std::cout << std::endl;
    const char *select = "SELECT * FROM catalog;";
    char **results = NULL;
    int rows, columns;
    int rc = sqlite3_get_table(db, select, &results, &rows, &columns, &err);
    if (rc) {
       std::cerr << "Error executing SQLite query: " << sqlite3_errmsg(db) << std::endl;
       sqlite3_free(err);
    }
    else {
        for (int row = 0; row <= rows; ++row) {
            for (int column = 0; column < columns; ++column) {
                int cellPosition = (row * columns) + column;
                std::cout.width(12);
                std::cout.setf(std::ios::left);
                std::cout << results[cellPosition] << " ";
            }
            if(row == 0)
                std::cout << std::endl;
        }
    }
 
    sqlite3_close(db);
    return 0;
}
Сортировку можно выполнить запросом с предикатом WHERE.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2015, 13:01
Помогаю со студенческими работами здесь

Создать контейнер по типу очередь, состоящий из символов (библиотека STL)
Ребят, помогите пожалуйста решить задачу : Создать контейнер по типу очередь, состоящий из символов. Данные в очередь ввести с клавиатуры....

STL. Создать объект-контейнер stack и заполнить его данными типа double
Задание: 1. Создать объект-контейнер и заполнить его данными, тип которых определяется вариантом задания. 2. Посмотреть контейнер. 3....

Задача по STL (Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип char)
Помогите,пожалуйста, заранее спасибо)) Вот задание: 1. Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип...

C++ STL Создать контейнер (Stack)
1. Создать объект-контейнер и заполнить его данными, тип stack 2. Просмотреть контейнер. 3. Изменить контейнер, удалив из него одни...

STL, контейнер set
Помогите, пожалуйста. Задание состоит вот в чем: даны названия городов, и для них перечислены города, в которые можно попасть без...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru