我有一个包含字符串和向量的地图:
std::map<std::string, std::vector<int> > sorted_data;
字符串是人名,向量存储具有该名称的人的年龄。
如何访问矢量以打印其内容并执行计算,例如数据的平均值。
关于语法和逻辑的任何其他解释都非常有用,因为我正在努力解决这个问题。
希望你能提供帮助。
安德鲁
答案 0 :(得分:0)
您的地图包含许多与名称相关联的向量,因此要访问其中一个,您可以编写以下内容sorted_data["john"]
。这将使您可以访问该特定向量。
例如,要计算平均值,您可以迭代向量中的所有元素并将它们相加。
int sum = 0;
for(int i = 0; i < sorted_data["john"].size(); i++)
{
sum+=sorted_data["john"][i];
}
float avg = sum/(float)sorted_data["john"].size();
您还可以使用迭代器迭代地图。使用c ++参考site并尝试理解示例代码。