C++程序设计语言练习6.3 multimap标准库的使用

原创 2016年06月01日 15:51:12

代码如下:

#include <iostream>
#include <map>
#include <string>

using std::cin;
using std::cout;
using std::multimap;
using std::string;
using std::pair;

int main()
{
	string str;
	float f;

	multimap<string,float> name;
	while(cin>>str>>f){
		name.insert(pair<string,float>(str,f));
	}

	multimap<string,float>::const_iterator citer = name.begin();

	while(citer != name.end()){
		float sum = 0;
		string key = citer->first;
		int count = name.count(citer->first);
		for(int i = 0;i<count; i++){
			sum += citer->second;
			citer++;
		}
		cout<<"the sum of key "<< key<<" is:"<<sum<<
		" and the average is "<< sum/count<<'\n';
	}

	citer = name.begin();
	float sum = 0;
	float average = 0;
	for (; citer != name.end(); ++citer)
	{
		sum += citer->second;
	}
	cout << "the sum of map is:"<<sum<<
	" and the average is "<<sum/name.size()<<'\n';
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

C++ multimap的简单使用

这两天,有个任务中用到了C++的multimap,所以写了个小Demo /** *@File MultiMapDemo.cpp * *@Author: Bob * *@Create T...
  • qq981378640
  • qq981378640
  • 2016年12月01日 14:45
  • 2225

浅析c++迭代器之multimap

关联式容器 1.什么是关联式容器 关联式容器依据特定的排序法则,自动对容器内的数据元素进行排序。排序的准则是以函数的形式呈现出来的,用来比较数据元素的值(value)或者键(key)。在默认的缺省...
  • tianxiaolu1175
  • tianxiaolu1175
  • 2015年09月10日 14:37
  • 873

《C程序设计语言》学习笔记——练习3-1

计时的结果,都是0.000000...... /* 练习3-1 在上面有关二分查找的例子中,在while循环语句内共作了两次测试,其实只要一次就够了(以把更多的测试放在外面为代价)。重写 这个函数,...
  • fiveyes
  • fiveyes
  • 2015年08月08日 20:48
  • 289

C++STL学习(5)容器map和multimap

注:博客内容均来自于对《C++标准库》侯捷,华中科技大学出版社一书的笔记。转载请注明出处。 1、map和multimap    map、multimap同set、multiset非常相似,他们里面...
  • Robin__Chou
  • Robin__Chou
  • 2015年10月16日 14:57
  • 2355

C++中的map和multimap容器

map和multimap是两种关联容器,他们的元素是一些关键字——值(key-value)对:关键字起索引作用,值则表示与索引相关联的数据。它们的元素都是以键为标准进行的strict weak ord...
  • fx491247006
  • fx491247006
  • 2016年07月17日 16:24
  • 557

《C++程序设计语言》读书笔记

第一章    致读者 1、给C程序员的建议 (1)在C++里几乎不需要用宏。用const 或enum定义明显的向量,用inline避免函数调用的额外开销,用template去刻画一族函数或者类型,...
  • beitiandijun
  • beitiandijun
  • 2013年06月16日 23:35
  • 1551

关联式容器map/multimap之初始化、删除元素、交换元素及清空操作

#include #include using namespace std; typedef pair mypair; void print(map> &m) { map>::iterato...
  • iFuMI
  • iFuMI
  • 2016年02月28日 10:17
  • 1126

关于Multimap的遍历和删除

C++的STL的关联容器multimap允许一个key值对应多个值,当对整个multimap进行遍历时可以使用迭代器,迭代器会指向多个键值对,而不是一个键值后的多个值,当希望输出key:value1 ...
  • cuihaolong
  • cuihaolong
  • 2016年07月15日 18:11
  • 4168

multimap使用和排序

 如果键值是string型,直接输出就可以了,multimap是排好序了的,如果你要用C风格字符串,就自定义一个排序规则,需要在创建 multimap的时候做: [cpp] v...
  • xiaoyafang123
  • xiaoyafang123
  • 2016年12月08日 15:33
  • 1014

【C++】STL常用容器总结之十:多重映射multimap和多重集合multiset

11、多重映射multimap和多重集合multiset由于multimap/multiset与map/set有太多的相似之处,故在这里我们一起进行介绍。首先需要指出的是,multimap的特性以及用...
  • hero_myself
  • hero_myself
  • 2016年08月25日 12:32
  • 978
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++程序设计语言练习6.3 multimap标准库的使用
举报原因:
原因补充:

(最多只允许输入30个字)