I'm not sure what you're asking.  The whole string is read with
fgets().  The first while loop skips whitepace.  Then the second one
looks for the end of a word.



On Jul 12, 11:43 pm, nicks <crazy.logic.k...@gmail.com> wrote:
> @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.- 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.

Reply via email to