10/10
Drawing a set of lines to eventually reach the same y point after x distance

static GPoint drawCoastline (GWindow& window, GPoint start, double length, double theta, int order)  {
   if(order==0) {  
      return window.drawPolarLine(start, length, theta);
   }  else {
      start = drawCoastline(window, start, length/3, theta, order-1);
      int delta = randomChance(0, 5);
      start = drawCoastline(window, start, length.(SOMETHING), theta+delta, order-1);
      start = drawCoastline(window, start, length.(SOMETHING), theta-delta, order-1);
      return drawCOastline(window, start, length/3, theta, order-1);
   }
}~

wrapper function

static void listPermutations(string word) {

listPermutations("", word);

}

Listing permutations using recursion

static void listPermutations(string prefix, string remaining) {
   if(remaining.empty())   {
      cout<<prefix<<endl;
   }
   for(int i=0; i<remaining.size(); i++)  {
      listPermutations(prefix+remaining[i], remaining.substr(0, i)+remaining.substr(i+1));
   }

}

   Login to remove ads X
Feedback | How-To