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
Explain what is the advantage of a random access file?
Differentiate between full, complete & perfect binary trees.
Who invented b language?
Why use int main instead of void main?
I have written a pro*C program to fetch data from the cursor. where in i have used the concept of BULK FETCH.... each FETCH statement is taking lots of time to fetch specified number of rows at...
When should the const modifier be used?
How can I invoke another program or command and trap its output?
Can we use any name in place of argv and argc as command line arguments?
What is a static function in c?
Explain what is wrong with this program statement?
Write a simple code fragment that will check if a number is positive or negative.
What is use of integral promotions in c?
any limit on the number of functions that might be present in a C program a) max 35 functions b) max 50 functions c) no limit d) none of the above
What happens if you free a pointer twice?
regarding pointers concept