1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
hram777 [196]
3 years ago
7

Give a recursive algorithm that takes as input a string s, removes the blank characters and reverses the string. For example, on

input "Hello There", the algorithm should return "erehTolleH". The function IsBlank(c) returns a boolean value indicating whether the character c is the blank character. Your algorithm should not use a loop.
Computers and Technology
1 answer:
Dmitriy789 [7]3 years ago
8 0

Answer:

#include <iostream>

using namespace std;

void recReverse(string exp)

{

if (exp.size() == 0)   //check for empty string

{

 return;

}

if (exp[0] == ' ')

{

 recReverse(exp.substr(1));  //only subtracting, not printing the spaces

}

else

{

 recReverse(exp.substr(1)); //subtracting the previously first element

 cout << exp[0]; //printing new first element

}

}

int main()

{

string exp = "Hello There";

recReverse(exp);

return 0;

}

Explanation:

A recursive function calls itself and works kind of like a loop. A russian doll, if you will. The downside of this program is that if the statement becomes too long it becomes very slow. The upside is, that i some cases, it provides elegant solutions.

In the above code, we have first made sure that we don't have a blank string input. In case we do, we've made sure the function exits before doing any extra work.  Then if the next element of the string is a space, we haven't printed it. Instead we've omitted the 'cout' and carried on with our recursion. Finally, in the else statement, we are printing the character along with subtracting it. Giving us our final recursive call backwards printing.

You might be interested in
why does it not let me create a new account when i log out of this one and go to join now after i fill everything out it wont le
frozen [14]
Try linking an email to your account, if it doesn’t work select forgot your password and you should receive an email where you can re make or change your password to something easier to remember. Are you using the same email account every time, this may also be the reason, if it is the same email they will not allow you to reuse it and it should tell you the email is already in use. Hope this helped
5 0
4 years ago
A ____ is any key that uniquely identifies each row.
Mrac [35]
<span>A _superkey___ is any key that uniquely identifies each row.</span>
6 0
3 years ago
Which option describes the purpose of configuring native supplicant profile on the cisco ise?
Ulleksa [173]

The best option describes the purpose of configuring Native Supplicant Profile on the Cisco ISE is it enforces the use of MSCHAPv2 or EAP-TLS for 802.1X authentication.

8 0
3 years ago
Assume that you are testing the Orders database introduced in Watt (2014) - Appendix C. Discuss the problems and possible conseq
madreJ [45]

Answer:

129 \frac{2}{?} 23.4. \div 164 \times 5y1 + . \\ .00487ggh

6 0
3 years ago
Resolution has the most impact on the size of photo print you can make.
siniylev [52]
If you want the best possible print, you need to upload the best quality digital file. Sometimes photos might look just fine when you look at them on your computer screen, and you might wonder what’s up with us when we say we can’t print them. Photos that don’t have sufficient resolution will look all blurry and pixilated (blocky with jagged edges) when printed.
3 0
4 years ago
Other questions:
  • To write 10 lines of code on paper:
    10·1 answer
  • Karen took an assessment with 291 questions, and it described her preferred style of working, learning, leading, risk-taking and
    13·1 answer
  • What do you call a set of programs?
    7·1 answer
  • What tool is provided in Windows to facilitate sharing data objects between applications and computers?
    8·1 answer
  • What do you call the spreadsheet cell that is in effect and has a heavier black border around it?
    7·2 answers
  • PLEASE HELP. I’ll mark you BRAINLIST <br> Please read the comment under this question
    9·1 answer
  • What blockchain implementation resulted from bitcoin’s rejection of a recommendation to enhance its scripting language support?
    9·1 answer
  • Write a program that accepts a whole number as input, multiplies that number by 12, and then outputs the product.
    6·2 answers
  • When solving a problem in a group situation, which of the following traits should be demonstrated?
    8·1 answer
  • Help PLEASE ILL MARK as brainlest
    11·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!