Top.Mail.Ru
Ответы

Контейнеры Qt, задача.

  1. С помощью контейнера QSet создайте перечень месяцев года. Посчитайте и выведите сколько месяцев вы внесли, а затем выведите названия месяцев, указав, к какому сезону они относятся.

  2. Создайте программу с помощью контейнер QMap, указывающую, сколько людей стоит в очереди на кассе. Изначально в очереди стояло 5 человек, выведите в консоль это значение. Спустя некоторое время открыли вторую кассу, и 2 человека ушли в другую очередь. Выведите в консоль новое число людей в очереди в первой кассе.

По дате
По рейтингу
Аватар пользователя
Знаток

Давайте начнем с создания перечня месяцев года с использованием контейнера QSet и определения сезонов для каждого месяца. Затем мы перейдем к использованию контейнера QMap для учета количества людей в очереди на кассе.

Пример создания перечня месяцев и определения сезонов:

cpp
Copy code
#include <QCoreApplication>
#include <QDebug>
#include <QSet>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QSet<QString> months;
months.insert("Январь");
months.insert("Февраль");
months.insert("Март");
months.insert("Апрель");
months.insert("Май");
months.insert("Июнь");
months.insert("Июль");
months.insert("Август");
months.insert("Сентябрь");
months.insert("Октябрь");
months.insert("Ноябрь");
months.insert("Декабрь");

qDebug() << "Всего месяцев:" << months.size();

QMap<QString, QString> seasonMap;
seasonMap["Декабрь"] = seasonMap["Январь"] = seasonMap["Февраль"] = "Зима";
seasonMap["Март"] = seasonMap["Апрель"] = seasonMap["Май"] = "Весна";
seasonMap["Июнь"] = seasonMap["Июль"] = seasonMap["Август"] = "Лето";
seasonMap["Сентябрь"] = seasonMap["Октябрь"] = seasonMap["Ноябрь"] = "Осень";

qDebug() << "Месяцы и их сезоны:";
foreach (const QString &month, months) {
qDebug() << month << " - " << seasonMap[month];
}

return a.exec();
}
Теперь пример использования QMap для учета количества людей в очереди:

cpp
Copy code
#include <QCoreApplication>
#include <QDebug>
#include <QMap>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QMap<QString, int> queueMap;
queueMap["Касса 1"] = 5;

qDebug() << "Людей в очереди на кассе 1:" << queueMap["Касса 1"];

// Спустя некоторое время
queueMap["Касса 2"] = 2; // Открыли вторую кассу и два человека ушли

qDebug() << "Людей в очереди на кассе 1:" << queueMap["Касса 1"];

return a.exec();
}
В этом примере мы используем QMap, чтобы отслеживать количество людей в очереди на каждой кассе. Когда открыли вторую кассу и два человека ушли, мы обновили значение в QMap.