Задать вопрос
  • Где найти статическую версию ImageMagick с хеадерами и либами?

    myjcom
    @myjcom Куратор тега C++
    Герман,
    Там нету никаких файлов которые мне помогли бы.

    Все сделали?

    Этот документ описывает требования и инструкции по сборке ImageMagick
    для Windows на вашем компьютере.

    Требования

    o Visual Studio 2013 (or newer)
    o Git for Windows
    o AMD APP SDK (optional
    for OpenCL support)

    Установите зависимости Visual Studio

    Для сборки ImageMagick с помощью Visual Studio следующие компоненты должны
    быть установленным:

      o Desktop development with C++ (workload)
      o Visual C ++ ATL для x86 и x64
      o Visual C ++ MFC для x86 и x64
      o Поддержка Windows XP для C ++ (необязательно, если вывод должен работать в Windows
        XP)

    Наименование этих компонентов может отличаться в зависимости от версии Visual Studio.
    В приведенном выше примере используются имена Visual Studio 2017.

    Clone the dependencies

    Библиотека ImageMagick построена с использованием ряда сторонних библиотек. запустите
    CloneRepositories.cmd для клонирования этих библиотек и библиотеки ImageMagick.

    Как собрать configure.exe

    Одна из папок, созданных на предыдущем шаге, называется VisualMagick.
    и эта папка содержит папку с именем configure. Эта папка содержит
    решение configure.sln. Откройте это решение в Visual Studio и запустите
    Build|Release. Это создаст файл с именем configure.exe в
    папке. Запуск этой программы запустит Мастер, который позволяет конфигурировать
    ImageMagick и его отдельные компоненты.

    Как собрать ImageMagick

    В зависимости от того, какие параметры были выбраны при запуске configure.exe
    в папке VisualMagick будут созданы (одно из) следующие решения:

      o VisualDynamicMT.sln (динамические многопоточные среды выполнения DLL)
      o VisualStaticMTD.sln (статические многопоточные среды выполнения DLL)
      o VisualStaticMT.sln (статические многопоточные среды выполнения)

    Откройте решение, чтобы начать сборку ImageMagick. Двоичные файлы будут созданы
    в папке VisualMagick \ bin.
  • Как можно сделать специализацию класса для нескольких типов?

    myjcom
    @myjcom Куратор тега C++
    timkin1, не забывайте отмечать решением.
  • Научится алгоритмическому мышлению?

    myjcom
    @myjcom
    а то каждый раз когда садишься за задачу пытаешься решить её всю за раз, а не пошагово...


    букварь
    Оглавление

    Предисловие
    Глава 1. Введение
    Глава 2. Основы анализа эффективности алгоритмов
    Глава 3. Метод грубой силы
    Глава 4. Метод декомпозиции
    Глава 5. Метод уменьшения размера задачи
    Глава 6. Метод преобразования
    Глава 7. Пространственно-временной компромисс
    Глава 8. Динамическое программирование
    Глава 9. Жадные методы
    Глава 10. Ограничения мощи алгоритмов
    Глава 11. Преодоление ограничений
    Эпилог
    Приложение А. Формулы, использующиеся при анализе алгоритмов
    Приложение Б. Краткое руководство по рекуррентным соотношениям
    Список литературы
    Указания к упражнениям
    Предметный указатель
    Задачка
    5cc204475e8ff338154843.png
  • Можете посоветовать настольную книгу по C++?

    myjcom
    @myjcom Куратор тега C++
    о которой Страус упоминал сам как о более сфокусированной именно на С++ и его особенностях.
    Не стоит так об уважаемом человеке.
  • Как вычислить интеграл с помощью формулы Симпсона?

    myjcom
    @myjcom Куратор тега C++
    Что мне нужно исправить в коде,что бы задача была решена правильно...

    Внимательно прочитать задание.
    ... и предлагаемую квадратурную формулу оформить в виде функций


    Алгоритм студента когда очень надо
    формула
    подумать...
    решение
    написать...
    проверка
    ок...
    источник не указывать
  • Как использовать библиотеку Poco для MySQL?

    myjcom
    @myjcom Куратор тега C++
    Nerd0_0, https://github.com/pocoproject/conan-poco/blob/72b...

    может пройдет
    self.requires.add("MySQLClient/6.1.6@hklabbers/stable")
    # raise Exception("MySQL not supported yet, open an issue here please: %s" % self.url)

    если нет-посоветуйте какую-нибудь альтернативу.

    soci.sourceforge.net
  • Пробелы в пути к файлу для функции system(). Как решить?

    myjcom
    @myjcom Куратор тега C++
    auto filename{ R"("C:\Program Files (x86)\test\test.exe")"s };
    system(filename.c_str());
  • Как использовать библиотеку Poco для MySQL?

    myjcom
    @myjcom Куратор тега C++
    теперь conan ругается на то, что MySQL еще не поддерживается

    Текст оригинального сообщения?

    мануал смотрели? --> External Dependencies
  • Как понять трактовку задания?

    myjcom
    @myjcom
    Narts,
    реализации с комментарими
    5cc0dd93a9596469800226.png5cc0dd38b5b69011234685.png

    Фундаментальные алгоритмы на C (3-я редакция)
    Год: 2003
    Автор: Sedgewick R. / Седжвик Р.
    Издательство: DiaSoft
    ISBN: 5-93772-083-0, 0-201-31452-5, 0-201-31663-3
    Язык: Русский
  • Как понять трактовку задания?

    myjcom
    @myjcom
    Narts,
    Не совсем понятно, как это?

    Алгоритмы. Руководство по разработке (2-е издание)
    Стивен С. Скиена

    Глава 3. Структуры данных
    3.4 Двоичные деревья поиска
    5cc0d8777bdc7895095753.png
  • Как правильно реализовать возведение полинома в степень?

    myjcom
    @myjcom Куратор тега C++
    Silence,
    https://www.boost.org/doc/libs/1_69_0/libs/math/ex...

    в исходниках boost/math/tools/polynomial.hpp
    там все есть.
    template <typename U, typename V>
       void multiply(const polynomial<U>& a, const polynomial<V>& b) {
           if (!a || !b)
           {
               this->set_zero();
               return;
           }
           std::vector<T> prod(a.size() + b.size() - 1, T(0));
           for (unsigned i = 0; i < a.size(); ++i)
               for (unsigned j = 0; j < b.size(); ++j)
                   prod[i+j] += a.m_data[i] * b.m_data[j];
           m_data.swap(prod);
       }
    
       template <class U>
       polynomial& operator *=(const polynomial<U>& value)
       {
          this->multiply(*this, value);
          return *this;
       }


    Функцию для возведения полинома в степень, писал как раз для реализации этого метода.

    polynomial<T> pow(polynomial<T> base, int exp)
    {
        if (exp < 0)
            return policies::raise_domain_error(
                    "boost::math::tools::pow<%1%>",
                    "Negative powers are not supported for polynomials.",
                    base, policies::policy<>());
            // if the policy is ignore_error or errno_on_error, raise_domain_error
            // will return std::numeric_limits<polynomial<T>>::quiet_NaN(), which
            // defaults to polynomial<T>(), which is the zero polynomial
        polynomial<T> result(T(1));
        if (exp & 1)
            result = base;
        /* "Exponentiation by squaring" */
        while (exp >>= 1)
        {
            base *= base;
            if (exp & 1)
                result *= base;
        }
        return result;
    }

  • Насколько адекватно требовать домашнего развития от разработчиков?

    myjcom
    @myjcom
    Идеальный программист. Как стать профессионалом разработки ПО
    Роберт Мартин
    Глава 1. Профессионализм
      --> cтраница 28
        --> Трудовая этика
    Текст

       За свою карьеру отвечаете вы сами. Ваш работодатель не обязан заботиться о вашей востребованности на рынке труда. Он не обязан обучать вас, отправлять вас на конференции или покупать книги. Всем этим должны заниматься вы сами. Горе тому разработчику, который доверит свою карьеру своему работодателю!

       Некоторые работодатели согласны покупать вам книги, отправлять вас на семинары и конференции. Прекрасно, они оказывают вам услугу. Но никогда не думайте, что они обязаны это делать! Если ваш работодатель не делает этого за вас, подумайте, как сделать это своими силами. Ваш работодатель также не обязан выделять вам время для учебы. Некоторые выделяют время на повышение квалификации — или даже требуют, чтобы вы это делали. Но и в этом случае они оказывают вам услугу, и вы должны быть им благодарны. Не рассчитывайте на это как на нечто само собой разумеющееся.

       Вы обязаны своему работодателю некоторым количеством времени и усилий. Для примера возьмем стандартную для США 40-часовую рабочую неделю. Эти 40 часов должны быть проведены за решением проблем вашего работодателя, а не ваших личных проблем. Запланируйте 60 рабочих часов в неделю. Первые 40 вы работаете на своего работодателя, а остальные 20 на себя. В эти 20 часов вы читаете книги, практикуетесь, учитесь и иным образом развиваете свою карьеру.

       Наверняка вы подумали: «А как же моя семья? Моя личная жизнь? Я должен пожертвовать всем ради своего работодателя?» Я не говорю обо всем вашем личном времени. Я говорю о 20 дополнительных часах в неделю. Если вы будете использовать обеденный перерыв для чтения и прослушивания подкастов и еще 90 минут в день на изучение нового языка — это решит все проблемы. Давайте немного посчитаем. В неделе 168 часов. 40 достается вашему работодателю, еще 20 — вашей карьере. Остается 108. 56 тратится на сон, на все остальное остается 52. Возможно, вы не хотите брать на себя подобные обязательства. И это вполне нормально, но тогда не считайте себя профессионалом. Профессионалы не жалеют времени на совершенствование в своей профессии.

      Возможно, вы считаете, что работа должна оставаться на рабочем месте и ее не следует брать домой. Согласен! В эти 20 часов вы должны работать не на своего работодателя, а на свою карьеру. Иногда эти два направления совпадают. Иногда работа, выполняемая для работодателя, оказывается исключительно полезной для вашей карьеры. В таком случае потратить на нее некоторые из этих 20 часов будет вполне разумно. Но помните: эти 20 часов предназначены для вас. Они используются для того, чтобы повысить вашу профессиональную ценность.

      Может показаться, что мой путь ведет к «перегоранию» на работе. Напротив, он помогает избежать этой печальной участи. Вероятно, вы стали разработчиком из-за своего энтузиазма к программированию, а ваше желание стать профессионалом обусловлено этим энтузиазмом. За эти 20 часов вы будете заниматься тем, что подкрепит ваш энтузиазм. Эти 20 часов должны быть интересными!
  • Как сформировать строку посредством макросов языка Си?

    myjcom
    @myjcom
    https://rextester.com/AFTXA44163
    #define number 10
    
    #define cat(x, y) x # y
    #define xcat(x, y) cat(x, y)
    #define stamp xcat("stamp n.", number)
  • Куда пойти учиться на программиста?

    myjcom
    @myjcom
    s0xzwasd,
    всё, что связано с компьютером, куда пойти учится мне?

    Йода знает.
  • Куда пойти учиться на программиста?

    myjcom
    @myjcom
    Помогите выбрать страну и университет: Украина, Россия или Европа ( Польша, Чехия)

    Россия и Украина, Польша и Чехия це Восточная Европа -> https://ru.wikipedia.org/wiki/Восточная_Европа

    Да и вообще, на нашем континенте есть только Европа и Азия.

    Части света справа есть картинка Европа выделена красным.

    Ну а там (Польша, Чехия) и до Technical University of Munich недалеко.

    Куда пойти учиться на программиста?
    Computer Science & Information Systems
  • Как происходит создание переменных в Си?

    myjcom
    @myjcom
    Во что верить?

    https://en.cppreference.com/w/c/language/initialization

    Implicit initialization
    If an initializer is not provided:
    objects with automatic storage duration are initialized to indeterminate values (which may be trap representations)
    ...
    If an indeterminate value is used as an argument to any standard library call, the behavior is undefined. Otherwise, the result of any expression involving indeterminate values is an indeterminate value (e.g. int n;, n may not compare equal to itself and it may appear to change its value on subsequent reads)


    https://godbolt.org/z/DDfCbj