【初心者歓迎】C/C++室 Ver.75【環境依存OK】

このエントリーをはてなブックマークに追加
866デフォルトの名無しさん
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
map<char, double> freq;
vector<double> vec;

freq['m'] = 0.124167;
freq['o'] = 0.0820011;
freq['e'] = 0.0969225;

vec.push_back(0.0021);
vec.push_back(0.0031);
vec.push_back(0.0041);

{
お願い:freq のsecond にvec の値を代入する方法を教えて下さい
}

return 0;
}

for やwhile文を用いないtemplate やファンクタによる、かっこいい実装を希望します。
867866:2011/07/30(土) 20:27:18.34
質問がわかりにくかったら
ttp://ja.w3support.net/index.php?db=so&id=771453
これの逆パターンです
map pair.second → vector
これを
vector → map pair.second
できる、方法を教えてくださいませませ
868デフォルトの名無しさん:2011/07/30(土) 21:36:08.12
>>866
#include <boost/range/adaptor/map.hpp>
std::copy(vec.begin(), vec.end(), boost::adaptors::values(freq).begin());