vector<>下标越界,求较高手哪里越了?
//lotto.cpp --
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
#include<cstdlib>
using namespace std;
vector<int> Lotto(int dot_num,int selected_num);
int main()
{
cout<<"Please input the total number and selected number of lotto: ";
int total,selective;
cin>>total>>selective;
vector<int> winner;
winner=Lotto(total,selective);
cout<<"The winner of lotto is: ";
ostream_iterator<int,char> out(cout," ");
copy(winner.begin(),winner.end(),out);
return 0;
}
vector<int> Lotto(int dot_num,int selected_num)
{
vector<int> temp(dot_num),winner(selected_num);
for(int i=0;i<dot_num;i++)
temp[i]=i+1;
for(int i=0;i<selected_num;i++)
{
random_shuffle(temp.begin(),temp.end());
winner[i]=temp[0];
}
sort(winner.begin(),winner.end());
return winner;
}