@saurabh.... why are you reading the string character by character......why
don't just read it word by word ? ..... what's the problem in it ?

btw...nice soln...


On Wed, Jul 13, 2011 at 7:32 AM, Gene <gene.ress...@gmail.com> wrote:

> You can recognize a word W, recur to print the rest of the words in
> reverse, then print W:
>
> #include <stdio.h>
> #include <string.h>
>
> void print_words_in_reverse(char *s)
> {
>  char *e;
>  while (isspace(*s)) s++;
>  if (*s == '\0') return;
>  e = s + 1;
>  while (*e && !isspace(*e)) e++;
>  print_words_in_reverse(e);
>  printf("%.*s ", e - s, s);
> }
>
> int main(void)
> {
>  char line[16 * 1024];
>  fgets(line, sizeof line, stdin);
>  print_words_in_reverse(line);
>  return 0;
> }
>
>
> On Jul 6, 12:40 pm, Tushar Bindal <tushicom...@gmail.com> wrote:
> > good job
> > but how can this be done in one traversal as asked on the Adobe Interview
> > Questions thread<
> https://groups.google.com/forum/#%21msg/algogeeks/oEL8z4wwMJY/FAVdr2M...>
> > .
> >
> >
> >
> >
> >
> > On Wed, Jul 6, 2011 at 9:49 PM, Navneet Gupta <navneetn...@gmail.com>
> wrote:
> > > I think somebody on this thread has asked this question but i am not
> > > able to find that.
> >
> > > Question was if a string is like "my name is ram", then output should
> > > be "ram is name my".
> >
> > > Wrote the code for same, so sharing.
> >
> > > #include<iostream>
> > > #include<string>
> > > using namespace std;
> >
> > > void SwapStringChars(string &str, int pos1, int pos2)
> > > {
> > >        char ch = str[pos1];
> > >        str[pos1] = str[pos2];
> > >        str[pos2] = ch;
> > > }
> >
> > > void reverseString(string &str, int left, int right)
> > > {
> > >        for(int i = left ; i <= left + (right-left)/2 ; i++)
> > >                SwapStringChars(str, i, right + left -i));
> > > }
> >
> > > void reverseWordsInString(string &str)
> > > {
> > >        char space = ' ';
> > >        int len = str.length();
> > >        int startIndex = 0, endIndex = 0;
> > >        while(endIndex < len - 1)
> > >        {
> > >                while(str[endIndex] != space && endIndex <
> len)endIndex++;
> > >                reverseString(str, startIndex, endIndex-1);
> > >                startIndex = endIndex;
> > >                while(str[startIndex] == space)startIndex++;
> > >                endIndex = startIndex;
> > >        }
> > > }
> >
> > > int main()
> > > {
> > >        string str;
> > >        cout<<"\nEnter enter the string :";
> > >        getline(cin,str);
> >
> > >        //Reverse whole string at once
> > >        reverseString(str, 0, str.length() - 1);
> >
> > >        //Reverse Individual words in string
> > >        reverseWordsInString(str);
> > >        cout<<str;
> > >        cin.get();
> > >        return 0;
> > > }
> >
> > > --
> > > Regards,
> > > Navneet
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Algorithm Geeks" group.
> > > To post to this group, send email to algogeeks@googlegroups.com.
> > > To unsubscribe from this group, send email to
> > > algogeeks+unsubscr...@googlegroups.com.
> > > For more options, visit this group at
> > >http://groups.google.com/group/algogeeks?hl=en.
> >
> > --
> > Tushar Bindal
> > Computer Engineering
> > Delhi College of Engineering
> > Mob: +919818442705
> > E-Mail : tushicom...@gmail.com
> > Website:www.jugadengg.com- Hide quoted text -
> >
> > - Show quoted text -
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to