Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters > Algorithms

Reply
 
Thread Tools

Reversing words in a sentence (interview puzzle)
Old 01.02.2014, 11:55   #1
Ego coder
 
AvDav's Avatar
 
Join Date: 07 2004
Location: Yerevan, Armenia
Age: 43
Posts: 3,738
Rep Power: 4
Default Reversing words in a sentence (interview puzzle)

Задача о печати слов в предложении в обратном порядке. Вся идея заключается в том, чтобы свернуть строку а затем свернуть отдельные лексемы. Реализация на С++ представлена ниже.

Code:
#include <iostream>
    
void reverseString(char *b, char *e) {
    char tmp;
    while (b < e) {
        tmp = *b;
        *b = *e;
        *e = tmp;
        ++b;
        --e;
    }
}
     
void reverseWords(char* str) {
    char *front = str;
    char *back = str;
    while (*++back);
    --back;
     
    reverseString(front, back);
     
    while(*front) {
        for(; *front && *front == ' '; ++front);
        for(back = front; *back && *back != ' '; ++back);
        --back;
        reverseString(front, back);
        front = ++back;
    }
}
     
int main() {
    char s[] = {"The quick brown fox jumps over the lazy dog"};
    reverseWords(&s[0]);
    std::cout << s;
    return EXIT_SUCCESS;
}
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Yet another interview puzzle (anagrams) AvDav Algorithms 0 27.01.2014 19:17
Words arabaliozian Comments 0 23.06.2010 14:06
[JAVA GAME MOTOROLA VXX] Puzzle Bobble acid Mobile Phones and Gadgets 0 25.07.2005 20:16
Creating a story together: add one sentence! PsilocybeLarvae English Only 73 14.07.2005 15:47
ARMENIAN STUDENTS, WHO GAVE INTERVIEW TO NEW YORK TIMES, SAY THEIR WORDS WERE DISTORT acid News 19 17.12.2004 12:52


Реклама:
реклама

All times are GMT. The time now is 12:25.
Top

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.