首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙见见这个程序

2013-01-07 
帮忙看看这个程序#include iostream#include vector#include algorithm#include iteratorusing na

帮忙看看这个程序


#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
template <class ForwardIterator, class T>
void iota_n(ForwardIterator first, int n,T value)
{
for (int i=0;i<n;i++)
*first++=value++;
}
void main(int argc,char* argv[])
{
int n=2;
vector<int> v;
v.reserve(3);
iota_n(v.begin(),n,100);
random_shuffle(v.begin(),v.end());
copy(v.begin(),v.end(),ostream_iterator<int>(cout,"\n"));
}



应该随机输出1到100的整数,结果却什么也没有输出,求真相。
[解决办法]

#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
template <class ForwardIterator, class T>
void iota_n(ForwardIterator first, int n,T value)
{
    for (int i=0;i<n;i++)
        *first++=value++;
}
void main(int argc,char* argv[])
{
    int n=2;
    vector<int> v(3);
        iota_n(v.begin(),n,100);
    random_shuffle(v.begin(),v.end());
    copy(v.begin(),v.end(),ostream_iterator<int>(cout,"\n"));
}

or the following way

#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
template <class ForwardIterator, class T>
void iota_n(ForwardIterator first, int n,T value)
{
    for (int i=0;i<n;i++)
        *first++=value++;
}
void main(int argc,char* argv[])
{
    int n=2;
    vector<int> v;
    v.resize(3)
        iota_n(v.begin(),n,100);
    random_shuffle(v.begin(),v.end());
    copy(v.begin(),v.end(),ostream_iterator<int>(cout,"\n"));
}

热点排行