KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have several data that looks like this: Vector1_elements = T,C,A Vector2_elements = C,G,A Vector3_elements = C,G,T ..... up to ... VectorK_elements = ... #Note also that the member of each vector is always 3. What I want to do is to create all combination of elements in Vector1 through out VectorK. Hence in the end we hope to get this output (using Vector1,2,3): TCC TCG TCT TGC TGG TGT TAC TAG TAT CCC CCG CCT CGC CGG CGT CAC CAG CAT ACC ACG ACT AGC AGG AGT AAC AAG AAT The problem I am having now is that the following code of mine does that by hardcoding the loops. Since number of Vectors can be varied, we need a flexible way to get the same result. Is there any? This code of mine can only handle up to 3 Vectors (hardcoded): #include <iostream> #include <vector> #include <fstream> #include <sstream> using namespace std; int main ( int arg_count, char *arg_vec[] ) { vector <string> Vec1; Vec1.push_back("T"); Vec1.push_back("C"); Vec1.push_back("A"); vector <string> Vec2; Vec2.push_back("C"); Vec2.push_back("G"); Vec2.push_back("A"); vector <string> Vec3; Vec3.push_back("C"); Vec3.push_back("G"); Vec3.push_back("T"); for (int i=0; i<Vec1.size(); i++) { for (int j=0; j<Vec2.size(); j++) { for (int k=0; k<Vec1.size(); k++) { cout << Vec1[i] << Vec2[i] << Vec3[k] << endl; } } } return 0; }
Tags (comma-separated)
Save Edits
Cancel