A community for students.
Here's the question you clicked on:
 0 viewing
03225186213
 3 years ago
how to make logic of recursion function?
03225186213
 3 years ago
how to make logic of recursion function?

This Question is Closed

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0what do you mean? How does recursion work?

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0Okay so basically there is iteration and recursion. Recursion is basically calling a method or function within itself to get an answer. For example normally you would do an iteration like afor loop. for(int i = 0; i < size; i++) { //do something }

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0for recursion you would do public void a() int a = 0 while(a < 10) { a++ a(); }

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0which would call a again and again until you reached 9.

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0public void a() { int a = 0 while(a < 10) { a++ a(); } }

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0forgot my brackets BAD KZ :P

03225186213
 3 years ago
Best ResponseYou've already chosen the best response.0* ** *** **** print this using recurssion

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0you do know how to work strings right?

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0We aren't supposed to give out answers on here directly, but I am here to help if you need some guidance. I explained how recursion works, so let me know what you come up with :). There are many ways to complete this.

03225186213
 3 years ago
Best ResponseYou've already chosen the best response.0void main() { int a; cin>>a; spaces(a); } void spaces(int a) { cout<<" "; if(a<1) spaces(a1); asteric(a); } void asteric(int a) { cout<<"*"; if(a>1) asteric(a1); cout<<endl; spaces(a); }

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0I personally would use an array, set each element to the # of * and then loop through the array.

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0woahs... You only need 1 method to do recursion. You're basically calling another 1 method from another, and then that method to the first one.

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0Like I said public void a() { //do something a(); }

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0you're calling 2 methods, you need to call 1 method that calls itself.

03225186213
 3 years ago
Best ResponseYou've already chosen the best response.0i need to handle spaces as well as asteric

03225186213
 3 years ago
Best ResponseYou've already chosen the best response.0decrement in spaces and increment in asteric

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0oic okay, so basically you will take the number total lets say 10. The 10th one would be the *, then on the next line 9 and 10 will be **, etc. Again you use only 1 method.

rsmith6559
 3 years ago
Best ResponseYou've already chosen the best response.2Recursion is usually used either for traversal or when a problem can be broken into smaller, identical problems and their solution can be combined into the final answer. In the case of traversals, this would be searching through a tree structure or graph or something similar. In the case of subproblems, as you're proceeding through the subproblems, you're basically breaking down the larger problem. Once you reach the "base case" ( where you want to stop recursing ), you start to "unwind" the recursion ( proceeding back up ) which would be the combining of the subproblems into the answer to the original, large problem. Generally, the first block of a recursive function is the test for the base case. I'm not 100% sure of how you want to do your question, but if I'm given the length of the space/asterick string, I could decrement that length on the way down and keeping an original of the length (passing two variables), my base case being when that variable is 0. And on the unwind concatenate spaces up to original length minus this stack frame's length, padding it out with astericks and printing it. Or putting a linefeed on it and adding it to a (all of the strings) string and returning that up.

MicroBot
 3 years ago
Best ResponseYou've already chosen the best response.0plus you can read this link...seems a good one:) http://www.doc.ic.ac.uk/~wjk/C++Intro/RobMillerL8.html

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0^exactly what I was saying :p.
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.