Python to C++ conversion substituting vectors for lists in a recursive function
lugal
lcrees at gmail.com
Wed Mar 23 06:10:17 EST 2005
I'm new to C++, coming from a Python background. I wrote the following
code in C++ based on the Python code found here:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/302478
//beginning
#include <vector>
#include <iostream.h>
using namespace std;
void looper(vector <vector<int> > nseq, vector<int> comb);
vector <vector<int> > master;
int main() {
int n, C;
vector <vector<int> > seq;
vector<int> holder;
cout << "Enter constant: ";
cin >> C;
cout << "Enter n: ";
cin >> n;
for(i=0; i<=n; i++) {
vector <int> tmp;
for(int j=0; j<=C; j++) {
tmp.push_back(j);
}
seq.push_back(tmp);
}
looper(seq, holder);
return 0;
}
void looper(vector <vector<int> > nseq, vector<int> comb) {
if(nseq.size()>0) {
vector<int> tseq = nseq.at(0);
for(int i=0; i<tseq.size(); i++) {
vector <vector<int> > gseq = nseq;
vector<int> tcomb = comb;
gseq.erase(0);
tcomb.push_back(tseq[i]);
looper(gseq, tcomb);
}
} else {
master.push_back(comb);
}
}
// end
The program dies on the line:
tcomb.push_back(tseq[i]);
in the recursive function. Is my C++ translation accurate from the
original Python?
More information about the Python-list
mailing list