#include <iostream>
#include <cstdlib>
#include <map>
#include <iterator>
#include <algorithm>
#include <C:\prog\11\2\Time.h>
using namespace std;
typedef map<int, Time>TMap;//определяем тип для работы со словаре
typedef TMap::iterator it;
Time avg;
//функция для формирования словаря
TMap make_map(int n)
{
TMap m;//пустой словарь
Time a;
for(int i=0;i<n;i++)
{
cin>>a;
//создаем пару и добавляем ее в словарь
m.insert(make_pair(i,a));
}
return m ;//возвращаем вектор как результа работы функции
}
//функция для печати словаря
void print_map(TMap m)
{
for(int i=0;i<m.size();i++)
cout<<i<<" - "<<m[i]<<" "<<endl;
}
Time srednee(TMap m)
{
Time s=m[0];//первый элемент – начальное значение суммы
//перебор словаря
for(int i=1;i<m.size();i++)
s=s+m[i];
int n=m.size();//количество элементов в словаре
return s/n;
}
void upd(Time&t)
{
t=t+avg;
}
int main(int argc, char *argv[])
{
TMap m;
int n;
cout<<"-----------------map.begin------------------"<<endl;
cout<<"Enter n=";
cin>>n;
m=make_map(n);
print_map(m);
cout<<"Zadanie 1.Max element insert:"<<endl;
//поставили итератор i на максимальный элемент
it r=max_element(m.begin(),m.end());
//int rr=(*r);
//int rr=(*r).second;
cout<<"Max element="<<*r<<endl;
cout<<"Zadanie 3.Update:"<<endl;
avg=srednee(m);//нашли среднее арифметическое вектора
cout<<"AVG="<<avg<<endl;
//for_each(m.begin(),m.end(),upd); // для каждого элемента добавили среднее
cout<<"-----------------map.end------------------"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
#include <C:\prog\11\2\Time.h>
#include "C:\prog\11\2\Time.h"
it r=max_element(m.begin(),m.end());
int r=max_element(m.begin(),m.end());
Time max = (m.end(),max_element(m.begin(),m.end(),
[](pair<int, Time> A, pair<int, Time> B)
{
return A.second < B.second;
}
)->second);
int main(int argc, char *argv[])
{
TMap m;
int n;
cout << "-----------------map.begin------------------" << endl;
cout << "Enter n=";
cin >> n;
m = make_map(n);
print_map(m);
cout << "Zadanie 1.Max element insert:" << endl;
//поставили итератор i на максимальный элемент
it r = max_element(m.begin(), m.end());
cout << "Max element = " << r->first << " (" << r->second << ")" << endl;
cout << "Zadanie 3.Update:" << endl;
avg = srednee(m);//нашли среднее арифметическое вектора
cout << "AVG=" << avg << endl;
//for_each(m.begin(),m.end(), upd); // для каждого элемента добавили среднее
cout << "-----------------map.end------------------" << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.