На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
1. Указывайте координаты для обратной связи!
2. Указывайте населенный пункт, если работа не удаленная.
3. Старайтесь указывать вилку зарплат.
4. Не пишите "вакансия" в названии темы, достаточно наименования вакансии!
5. Запрещается размещение объявлений, противоречащих действующему законодательству РФ.
6. Запрещается размещение объявлений, классифицируемых как "спам": "заработок в интернет", накрутка баннерных показов, MLM-структуры, "пирамиды" и прочий сетевой маркетинг.
7. Перед размещением вакансии внимательно ознакомьтесь с примером оформления темы (пример)

Объявления, не соответствующие данным правилам, будут удаляться без предупреждений!
Модераторы: Rust
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Бесплатный онлайн-курс по программированию на С++
    Цитата Олег М @
    Цитата Cfon @
    пс. на самом деле я уже где то слышал про такую практику

    Ну да, а потом еще гербалайф продавать заставят

    Это как повезет :crazy:
      А они мне отказали. Типа неправильно написал задание. По трём типовым проблемам -
      Не работает сразу указанный в задании тест.
      Не работают другие тесты.
      Не компилируется под MSVC 2013 (хотя это было в условиях).

      Вод код, который я им отправил

      ExpandedWrap disabled
        #include <iostream>
        #include <map>
        #include <vector>
        #include <fstream>
        #include <locale>
         
        class CDataBuffer
        {
        public:
            template <typename TFunc>
            void Parse(const char *data, const char *end, TFunc &&func)
            {
                const char *word = nullptr;
                for (auto psz = data; psz != end; ++psz)
                {
                    if (std::isalpha(*psz, std::locale::classic()))
                    {
                        if (!word)
                            word = psz;
                    }
                    else if (word)
                    {
                        if (m_data.empty())
                            func(word, std::distance(word, psz));
                        else
                        {
                            m_data.insert(m_data.end(), word, psz);
                            func(m_data.data(), m_data.size());
                            m_data.clear();
                        }
         
                        word = nullptr;
                    }
                    else
                        Flush(func);
                }
         
                if (word)
                    m_data.insert(m_data.end(), word, end);
            }
         
            template <typename TFunc>
            void Flush(TFunc &&func)
            {
                if (m_data.empty())
                    return;
         
                func(m_data.data(), m_data.size());
                m_data.clear();
            }
        protected:
            std::vector<char> m_data;
        };
         
        int main(int argc, char *argv[])
        {
            if (argc < 2)
            {
                std::cerr << "Invalid arguments" << std::endl;
                return -1;
            }
         
            std::ifstream in(argv[1]);
         
            static const size_t _sz = 1024;
            char buf[_sz];
         
            std::map<std::string, size_t> words;
            CDataBuffer data;
            auto fn = [&words](const char *psz, size_t sz)
            {
                auto it = words.emplace(std::make_pair(std::string(psz, sz), 0)).first;
                ++it->second;
            };
         
            while (in.good())
            {
                in.read(buf, _sz);
                data.Parse(buf, buf + in.gcount(), fn);
            }
         
            data.Flush(fn);
         
            std::ofstream fout;
            if (argc > 2)
                fout.open(argv[2]);
         
            auto &out = fout.is_open()? fout: std::cout;
         
            out << "By word:" << std::endl;
         
            std::multimap<size_t, const char *> words2;
            for (auto it = words.begin(), end = words.end(); it != end; ++it)
            {
                out << it->first << ", " << it->second << std::endl;
                words2.emplace(std::make_pair(it->second, it->first.c_str()));
            }
         
            out << std::endl;
            out << "By count:" << std::endl;
            for (auto it = words2.rbegin(), end = words2.rend(); it != end; ++it)
                out << it->first << ", " << it->second << std::endl;
         
            return 0;
         
        }


      Что там может не работать или не компилится - я не знаю.
      Ну и по-барабану, видать не судьба мне научиться программировать на C++
        А задание какое было?
          Цитата barazuk @
          А задание какое было?

          Подсчитать количество слов в файле
            меня тоже не взяли сказали слишком умный :D
              Че прямо так и сказали?
                почти, послали к бабушке :D
                  так, вторая вертикальная вонючая лужа нашлась :whistle: где же бойцы-то? :crazy:
                    Цитата _lcf_ @

                    где же бойцы-то?

                    Да, где настоящие, горизонтальные, лужи?
                      Кстати, на днях опубликовали видео всех лекций первого курса.
                        так, ну вы расскажите, сколько бойцов-то удалось найти в этих ваших вонючих лужах?
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0425 ]   [ 17 queries used ]   [ Generated: 28.03.24, 15:59 GMT ]