• Как асинхронно несколько раз выполнить функцию класса?

    MinTnt
    @MinTnt
    https://stackoverflow.com/questions/42009202/how-t... (похожий вопрос на стаковерфлов, отличия лишь, что тут попытка использования асинхронно класса из одного файла, в другом)
    https://habr.com/ru/post/266743/(Немного информации про async)

    Кратко:
    import asyncio

    async def ...():
    Ответ написан
    Комментировать
  • Поможете новичку с проектом Эйлера?

    longclaps
    @longclaps
    Гугли "динамическое программирование".
    Тут конкретно: берем матрицу 4x5 такого вида: (20x20 многовато для иллюстрации)
    1 1 1 1 1
    1 . . . .
    1 . . . .
    1 . . . .

    Точки здесь - это те значения, которые будем вычислять.
    Единички - это число способов попасть в соответствующую клетку из верхней левой (её координаты 0,0).
    В клетку 1,1 можно попасть из 0,1 и 1,0 - запишем туда сумму значений из 0,1 и 1,0:
    1 1 1 1 1
    1 2 . . .
    1 . . . .
    1 . . . .
    И так далее.
    Ответ написан
    Комментировать
  • Как правильно закрыть окно?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Как-то так
    #include <QApplication>
    #include <QMessageBox>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QMainWindow mainWindow;
    
        auto res = QMessageBox::question(&mainWindow, QMainWindow::tr("Just in case"),
                                         QMainWindow::tr("Are you sure?"));
        if (res == QMessageBox::Yes) {
            mainWindow.show();
            return a.exec();
        } else {
            return -1;
        }
    }

    Смысл в том, что у вас первое окно -- это модальный диалог (наследник QDialog, допустим). У него есть метод exec обычно, который возвращает результат (например согласился пользователь или нет). На основании результата и решайте, что делать дальше: показать окно или выйти из программы.
    Ответ написан
    Комментировать
  • Как добыть информацию этого тега?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Кому-то двойной цикл не помогает, а кому-то и одной строки может хватить:
    print(soup.find('span', {'class': 'searchBar__mediaTabTextValue searchBar__mediaTabTotal'}).get_text())

    >>> 75

    А вообще, с таким вот:
    Нужно рабочее решение !!!!

    На соседний ресурс иди.

    А с такими вот предъявами:
    не принимаю и даю жалобу.

    Иди к маме, а не сюда. Тут ты в первую очередь просишь.
    Ответ написан
    Комментировать
  • Как реализовать ввод данных через пробел в C++?

    myjcom
    @myjcom Куратор тега C++
    Ребят, я нашёл самое элегантное решение этой задачи

    vector<int> v(n);
    copy_n(istream_iterator<int>(cin), n, v.begin());
    copy_n(v.begin(), n, ostream_iterator<int>(cout, " "));


    generate_n(v.begin(), n, []{int x = 0; cin >> x; return x;});
    Ответ написан
    Комментировать
  • Как реализовать ввод данных через пробел в C++?

    Zoominger
    @Zoominger
    System Integrator
    Реализуйте свой split().
    Берёте строку и в цикле от первого и последнего символа проверяете, является ли символ пробелом. Если нет - добавляете этот символ во временную строку. Если да, то добавляете эту строку в динамический массив строк, а временную строку очищаете. В конце возвращаете динамический массив. Fini.
    Или вообще на Qt переходите.
    Ответ написан
    Комментировать
  • Как правильно закрыть окно?

    Zifix
    @Zifix Куратор тега Qt
    Barbatum
    Почитайте любую книгу по Qt. Сэкономите кучу времени и найдёте ответы ещё на тысячу подобных вопросов.
    Ответ написан
    Комментировать
  • Какие книги читать и изучать, чтобы стать настоящим программистом, а не кодером?

    JSinga
    @JSinga
    основная проблема в том, что вы, скорее всего, особо и не кодили, а уже ищете книги которые сделают ваш код "батьковским".
    Не на то отвлекаетесь.
    Сколько вы набрали рейтинга в TopCoder, CodeForce?
    В скольких проектах поучаствовали на GitHub?
    Почему вы решили что вы достаточно покодили?

    Хотите читать книги и мечтать что код станет шикарен сам собой?
    http://пиши-код-блять.рф/
    Ответ написан
    2 комментария
  • Поможете найти ошибку в коде?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Если смотреть по код сверху вниз.

    Первая ошибка:
    this->value = NULL;
    В общем смысле ты не можешь знать, каким типом параметризуют твой шаблон. Но делая присвоение NULL ты надеешься на то что это будет указатель. Далее по тексту ты сам же свою надежду и разбиваешь, инстанцируя свой шаблон от типа int.
    Если тебе надо присвоить переменной значение по умолчанию - используй конструктор по умолчанию.
    Например так.
    this->value = T1(); // Или this->value = T1{}; для C++11 и выше.

    this в этом месте, кстати, можно смело опустить.

    Вторая ошибка:
    Type(T1 value) : TypeSize(value)
    // ...
    Type() : TypeSize()

    Для обращения к сущностям родительского шаблона нужно писать полную квалификацию имени сущности.
    Type(T1 value) : TypeSize<T1>::TypeSize(value)
    // ...
    Type() : TypeSize<T1>::TypeSize()


    Если заменить все this->value на value, то компилятор снова скажет про обращение к несуществующему полю. Но если к value обращаться используя его полную квалификацию TypeSize<T1>::value, код соберется должным образом.

    Третья ошибка:
    Type(T1 value) : TypeSize(value)
    {
    	this->value = value;
    }
    Type() : TypeSize()
    {
    	this->value = 0;
    }

    Ты и инициализацию родительского класса производишь, и значение меняешь. Это избыточно. Инициализацию value из этих конструкторов лучше убрать и предоставить все права по инициализации своих полей типу TypeSize. Плюс, конструктор по умолчанию у тебя снова надеется на простой тривиальный тип. Присвоение нулю приведет к ошибке компиляции уже при инстанцировании для тривиального составного типа.
    Лучше так:
    Type(T1 value) : TypeSize<T1>::TypeSize(value)
    {
    }
    Type() : TypeSize<T1>::TypeSize()
    {
    }
    Ответ написан
    2 комментария
  • Как изучить машинное обучение, если знаю C++?

    Есть различные должности: data scientist, algorithm developer и др.

    Первая занимается исследованием и разработкой математических моделей для анализа данных. В ней, прежде всего, требуется хорошо владеть различными областями математики и в значительно меньшей степени познаниями в программировании. Обычно ведут эксперименты с данными, занимаются визуализацией данных, интерпретацией результатов, составляют модели в виде формул и пишут небольшие части кода на языках R, Matlab, Python для демонстрации возможностей. Ведут консультации с ведущими разработчиками. Все записывается в набор документов, понятных программистам, и так идет процесс по кругу. Применяют набор различных инструментов и библиотек, написанных на разных языках. Все, что годится для экспериментов и продвигает исследования, применяется.

    Во второй должности требуется быть программистом с профильным образованием, чтобы максимально качественно и эффективно написать код для эксплуатации в производстве. Требуется хорошо знать прикладную математику и способы эффективной реализации алгоритмов. Здесь применяют высокопроизводительные языки, такие как C, C++, C#, Java, Scala, ..., и даже Fortran. На практике, в последнее время также и на Python (везде пихают его где можно и нельзя). Обычно стараются применять не больше 1-2 языков.
    Ответ написан
    Комментировать