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

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

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

    Jane Гость

    Условие: Дано 10 символьных строк, состоящих из слов, разделенных пробелами.
    Вывести список неповторяющихся слов.
    На Visual C++ задача не идет. Кто-нибудь может переделать?
    Код (Text):
    #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. ????

    ???? Гость

    <!--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

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

    Jane Гость

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

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

    Jane Гость

    <!--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 Гость

    а может её лучше установить?
     
  8. ????

    ???? Гость

    <!--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/
     
Загрузка...
Статус темы:
Закрыта.

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