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.