Error Vectors out of range
The error says Error: Vector subscript out of range
i have 3 chosen for k, i do not see how it is out of range
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<iterator>
using namespace std;
int main(){
vector<int> numbers = { 5,1,3,4,0 };
vector<vector<int>>combinations;
vector<int> selectedNumbers;
int n = 10;//0-9
int k = 3;
fill(numbers.begin(), numbers.begin() + k, 1);
do {
for (int i = 0; i < n; i++) {
if (numbers[i]) {
selectedNumbers.push_back(i);
}
}
combinations.push_back(selectedNumbers);
copy(selectedNumbers.begin(), selectedNumbers.end(), ostream_iterator<int>(cout, " "));
cout << endl;
selectedNumbers.clear();
} while (prev_permutation(numbers.begin(), numbers.end()));
return 0;
}
|
Last edited on
Hi,
You are using n
(= 10) in the for loop, but numbers
only has 5 values. So if (numbers[i])
looks dodgy :+)
Topic archived. No new replies allowed.