文字列とベクトルを含むマップがあります
std::map<std::string, std::vector<int> > sorted_data;
。文字列は人の名前で、ベクトルはその名前を持つ人々の年齢を格納します。
ベクトルにアクセスしてその内容を出力し、データの平均などの計算を実行するにはどうすればよいですか。
私はこれに苦労しているので、構文とロジックに関する他の説明は本当に役に立ちます。
お役に立てれば幸いです。
アンドリュー
マップには名前に関連付けられた多くのベクトルが含まれているため、1 つにアクセスするには、次のように記述できます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++ リファレンスサイトを使用して、サンプル コードを理解してください。