нужно перевести задачу в Visual C++6.0

Тема в разделе "MS Visual C++", создана пользователем Jane, 2 фев 2007.

Статус темы:
Закрыта.
  1. Jane

    Jane Гость

    Репутация:
    0
    Условие: Дано 10 символьных строк, состоящих из слов, разделенных пробелами.
    Вывести список неповторяющихся слов.
    На Visual C++ задача не идет. Кто-нибудь может переделать?
    Код:
    #include <iostream> 
    #include <iomanip> 
    #include <string> 
    #include <map> 
    #include <boost/tokenizer.hpp> 
    
    typedef std::vector<std::string> V; 
    typedef boost::tokenizer<boost::char_separator<char> > char_tokenizer; 
    typedef std::map<std::string, bool> unique_map; 
    
    V get_strings() 
    { 
    V v; 
    
    // каким-нубудь образом заполним массив строками 
    v.push_back("1 2 3"); 
    v.push_back("2"); 
    
    return (v); 
    } 
    
    void test_2() 
    { 
    /* 
    Дано 10 символьных строк, состоящих из слов, разделенных пробелами. 
    Вывести список неповторяющихся слов. 
    */ 
    
    V v = get_strings(); 
    
    unique_map strings; // ассоциативный массив для выявления неповторяющихся слов 
    boost::char_separator<char> separator(" "); 
    
    // парсинг ... 
    for(V::const_iterator stringIt = v.begin(); stringIt != v.end(); ++stringIt) 
    { 
    char_tokenizer tokens(*stringIt, separator); 
    for(char_tokenizer::const_iterator it = tokens.begin(); it != tokens.end(); ++it) 
    { 
    unique_map::iterator mapIt = strings.find(*it); 
    if (mapIt == strings.end()) 
    { 
    // строка пока встретилась только 1 раз 
    strings.insert(unique_map::value_type(*it, true)); 
    } 
    else 
    { 
    // повтор строки - сбрасываем флаг уникальности 
    mapIt->second = false; 
    } 
    } 
    } 
    
    // вывод результата 
    for(unique_map::const_iterator it = strings.begin(); it != strings.end(); ++it) 
    { 
    if (it->second) 
    { 
    std::cout << it->first << std::endl; 
    } 
    } 
    }
     
  2. ????

    ???? Гость

    Репутация:
    0
    <!--QuoteBegin-Jane+2:02:2007, 04:39 -->
    <span class="vbquote">(Jane @ 2:02:2007, 04:39 )</span><!--QuoteEBegin-->На Visual C++ задача не идет.
    [snapback]54756" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Какая версия и какие ошибки выдаёт?
     
  3. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    Такое чувство, что функцию main забыли :):):)
     
  4. Jane

    Jane Гость

    Репутация:
    0
    Версия Visual C++6.0
    В этой строке выдается ошибка: #include <boost/tokenizer.hpp>
    Если её удалить или заменить на другие вообще выдается куча ошибок.
     
  5. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    Это значит, что библиотека BOOST у вас не установлена или установлена некорректно
     
  6. Jane

    Jane Гость

    Репутация:
    0
    <!--QuoteBegin-European+2:02:2007, 11:19 -->
    <span class="vbquote">(European @ 2:02:2007, 11:19 )</span><!--QuoteEBegin-->Это значит, что библиотека BOOST у вас не установлена или установлена некорректно
    [snapback]54800" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А без BOOST можно обойтись?
     
  7. O01eg

    O01eg Гость

    Репутация:
    0
    а может её лучше установить?
     
  8. ????

    ???? Гость

    Репутация:
    0
    <!--QuoteBegin-Jane+2:02:2007, 13:44 -->
    <span class="vbquote">(Jane @ 2:02:2007, 13:44 )</span><!--QuoteEBegin-->А без BOOST можно обойтись?
    [snapback]54806" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    можно. переписав 80% кода :(
    легче сходить на http://boost.org/
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей