How to reverse a string using a recursive function, without
swapping or using an extra memory?
Answer Posted / stephen
#include <iostream>
#include <string>
using namespace std;
char * reverse (char *); //function prototype
int length(char *); //function prptotype
int main()
{
int i;
char *str = new char[6], *rev = new char[6];
cin >> str;
strcpy(rev,reverse(str));
cout <<"Original "<< str << " reverse " << rev << endl;
free(str);
free(rev);
return 0;
}
int length(char *s)
{
int i;
for (i=0; *(s+i)!='\0' ; ++i);
return i;
}
char *reverse(char *s)
{
char *t;
int i, n;
n=length(s);
t = new char[n];
for (i=0; i<n; ++i)
{
*(t+i)=*(s+n-1-i);
}
*(t+i)='\0';
return t;
}
/*based off of answer 8 i took this an intialized the
pointers so that it would run, and switched it over to the
C++ standard output commands. His algorithm was correct, he
just forgot to setup the memory*/
| Is This Answer Correct ? | 10 Yes | 14 No |
Post New Answer View All Answers
What are the 4 types of unions?
How can I write functions that take a variable number of arguments?
What are # preprocessor operator in c?
please explain clearly about execution of c program in detail,in which stage are the printf sacnf getting into exeecutable code
Why static is used in c?
What is the difference between null pointer and wild pointer?
List the difference between a "copy constructor" and a "assignment operator"?
what is different between auto and local static? why should we use local static?
How are strings stored in c?
how we can make 3d venturing graphics on outer interface
Explain what will be the outcome of the following conditional statement if the value of variable s is 10?
What is array in c with example?
Are negative numbers true in c?
What is the most efficient way to count the number of bits which are set in an integer?
Is linux written in c?