Задание №9
Варианты заданий:
-
Даны два массива:
string states[] = { "Wyoming", "Colorado", "Nevada", "Montana", "Arizona", "Idaho"};
int pops[] = { 470, 2890, 800, 787, 2718, 944 };На основе этих массивов создайте отображение, в котором ключ – это название американского штата, а значение – количество жителей этого штата в тысячах из массива pops. Напишите программу: пользователь вводит название штата, а в консоль выводится количество жителей этого штата. Выведите всё содержимое отображения в консоль с помощью функции.
-
В отображении находятся записи о соответствии номеров телефона (7 цифр) и фамилии. Например:
5671234 Ivanov
3214567 Petrov
9871234 SidorovВ массиве находятся номера телефонов. Например:
string mas[4] = { "1112233", "9871234", "5671234", "5556688" };
Осуществить поиск фамилий из заданного отображения, соответствующих телефонам из массива mas. Найденные фамилии вывести на консоль. В данном примере:
Sidorov
Ivanov -
В первом отображении находится информация о зарплате сотрудников. Например:
Ivanov 45500
Petrov 37000
Sidorov 245000
Petrenko 65000
Tovalds 91200
Popov 54600
Andrienko 35000Во втором отображении принадлежность сотрудников к отделам предприятия. Например:
Ivanov Research
Petrov Research
Sidorov Management
Petrenko Management
Tovalds Development
Popov Research
Andrienko SalesНеобходимо вычислить общий фонд зарплаты и отдельно по отделам. Результат вывести на экран. В данном случае (возможны опечатки):
Research 137100
Management 310000
Development 91200
Sales 35000
Overall 573300Примечание: Для решения этой задачи необходимо завести ассоциативный массив (
std::map
), где ключом будет название отдела (строка), а значением – текущая сумма зарплат. В цикле перебирать пары первого отображения, необходимо находить по ключу отдел во втором отображении и прибавлять к имеющейся там (в ассоци ативном массиве) сумме только что считанную. -
Создайте ассоциативный контейнер для хранения имен абонентов и их телефонных номеров. Имена и номера телефонов должны вводиться пользователем. После окончания ввода распечатать имена и телефонные номера абонентов в виде строк: имя абонента – его номер. Выполнить поиск номера по имени абонента, которое введет пользователь. Удалите найденный номер и имя абонента из отображения. Снова распечатайте отображение. Переделать программу: печатать отображение с помощью функции.
-
Разработайте программу, в которой используется отображение, которое содержит перечень городов и расстояние каждого города от Москвы:
'Минск': 713,
'Киев': 856,
'Санкт-Петербург': 786,
'Астана': 2748,
'Нижний Новгород': 421,
'Владивосток': 9141Найти в отображении ближайший город к Москве и самый дальний и выведите в консоль с пояснением. Распечатать содержимое отображения в консоли, используя функцию.
-
Дано отображение с данными о количестве учащихся в разных классах школы:
{'1а': 21, '1б':20, '2':25, '3а': 20, '3б': 23, '4а':25, '4б':25, '5а': 26, '5б':25, '6a':19, '6б': 18, '7а':26, '7б':25, '8':25, '9':17, '10': 15, '11’: 14}
В программе определить количества учащихся в школе. Распечатать содержимое отображения в консоли, используя функцию.
-
Необходимо объединить два прайс-листа (задаются в виде отображений) с тем условием, что если наименование товара присутствует в обоих прайсах, то в итоговый прайс помещается тот, чья цена выше.
m1 = {'яблоки': 100, 'груши': 13, 'арбузы': 20, 'картофель': 15, 'алыча': 22}
m2 = {'яблоки': 150,'груши': 18,'ананасы': 45, 'апельсины': 30, 'киви': 35}Распечатать содержимое отображений в консоли, используя функцию.
-
У вас есть выгрузка оставшегося количества фруктов из базы данных магазинов. Каждое отображение - магазин. Какие-то фрукты есть в разных магазинах, какие-то только в одном. Нужно сделать отображение, в котором ключами будут фрукты, а их количество - значениями. Если фрукт есть в наличии в нескольких магазинах - сложите эти значения.
Shop1 = { 'банан': 400, 'яблоко': 300, ... }
Shop2 = { 'банан': 750, 'груша': 20, 'яблоко': 150 ... } -
Дано отображение, содержащее сведения о количестве изделий, собранных сборщиками цеха за неделю:
'Иванов': 123, 'Петров': 89, 'Сидоров': 108, 'Краснов': 132, 'Демин': 99, 'Черепанов': 111
Каждая пара содержит поля: фамилия сборщика - количество изделий, собранных им ежедневно в течение недели. Количество записей - произвольное. Сколько всего собрали сборщики цеха за неделю. Распечатать содержимое отображений в консоли, используя функцию.
-
Дано отображение с данными о количестве учащихся в разных классах школы:
{'1а': 21, '1б':20, '2':25, '3а': 20, '3б': 23, '4а':25, '4б':25, '5а': 26, '5б':25, '6a':19, '6б': 18, '7а':26, '7б':25, '8':25, '9':17, '10': 15, '11’: 14}
В программе пользователь вводит год обучения школьников, а консоль выводится количество учащихся заданного года обучения, например:
Год обучения: 1
Количество: 41Распечатать содержимое отображения в консоли, используя функцию.