Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.01.2018, 15:52   #1
MarkSD
Новичок
 
Регистрация: 12.01.2018
Сообщений: 1
Репутация: 10
По умолчанию Организовать шаблонную функцию для контейнеров C++

Привет,
1) Нужно организовать шаблонную функцию в которую подается map<int, pair<int ,int>>, и возвращает map<int, pair<int , int >>. Функция должна инкрементировать только данные по ключу map.
Например:
input : 1 (2, 2)
output: 1 (4, 4)
2) Функция должна корректно работать не только для контейнеров, состоящих из чисел, но и для составных объектов, например, векторов словарей пар чисел.

Функция должна возвращать копию исходного контейнера, модифицировав его следующим образом:

для vector элементы нужно возвести в квадрат;
для map в квадрат нужно возвести только значения, но не ключи;
для pair в квадрат нужно возвести каждый элемент пары

___________________________________ ________________________
1) Решил задачу так. Вроде работает.

map<T, pair<T,T> > Sqr(map<T, pair<T, T> >& m) {
for (auto &item : m) {
item.second.first = item.second.first * item.second.first;
item.second.second = item.second.second * item.second.second;
}
return m;
}

2) Как написать более общую функцию? Если там могут быть разные аргументы - структуры.
MarkSD вне форума   Ответить с цитированием
Старый 12.01.2018, 16:17   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 10,854
Репутация: 1806

icq: 216409213
По умолчанию

Код:

map<T, Container> Sqr(map<T, Container>& m)

__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать функцию «Факториал» и программу, использующую эту функцию для вывода таблицы факториалов. Rufer Помощь студентам 1 20.06.2016 13:53
Имитация контейнеров. Классы a_lexfox Помощь студентам 3 09.05.2016 14:16
Параметры медиа-контейнеров. min@y™ Win Api 6 22.02.2016 19:04
а) Создать шаблонную функцию, изменяющую попарно элементы массива Маша))) Visual C++ 0 16.02.2016 19:48
Рандомно заполнить двумерный массив, используя шаблонную функцию akush Помощь студентам 2 01.10.2011 19:37


01:50.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru