variable nested for loops

前端 未结 6 1662
南旧
南旧 2020-12-01 20:15

I\'m trying to figure out how I can use recursion to do n-level nested for loops. For example, if n=3, there would be 3 \'levels\'

for(z=0;z<6;z++){
   fo         


        
6条回答
  •  青春惊慌失措
    2020-12-01 20:46

    Here's an example in plain old C++. First I make a vector of the ranges for each dimension called maxes. if the sum of all indices are 2 then I print did something. In the example I loop z from 0 to 1, y from 0 to 2, x from 0 to 3

    You can for sure make this more neat.

    Here goes:

    #include 
    #include 
    using namespace std;
    
    int f(){ 
        return 2 ;
    }
    
    void inner(int depth,vector & numbers,vector & maxes){
      if (depth>0){
         for(int i=0;i  numbers;
       numbers.resize(3);
       vector  maxes;
       maxes.push_back(4);
       maxes.push_back(3);
       maxes.push_back(2);
       inner(numbers.size(),numbers,maxes);
    }
    
    int main(){
       donest();
    }
    

    result:

    values are 0 0 0 
    values are 1 0 0 
    values are 2 0 0  did something! 
    values are 3 0 0 
    values are 0 1 0 
    values are 1 1 0  did something! 
    values are 2 1 0 
    values are 3 1 0 
    values are 0 2 0  did something! 
    values are 1 2 0 
    values are 2 2 0 
    values are 3 2 0 
    values are 0 0 1 
    values are 1 0 1  did something! 
    values are 2 0 1 
    values are 3 0 1 
    values are 0 1 1  did something! 
    values are 1 1 1 
    values are 2 1 1 
    values are 3 1 1 
    values are 0 2 1 
    values are 1 2 1 
    values are 2 2 1 
    values are 3 2 1 
    

提交回复
热议问题