Задать вопрос
  • Быстрый старт в IT с хорошей базой?

    DevMan
    @DevMan
    все описанные скилы на фрилансе вообще не роялят: там в первую очередь важен единственный скилл - продать себя.
    затем следует понимание процессов и задач: клиента вообще не интересует path_finding и прочая заумная хрень, его интересует реализация свои хотелок ещё вчера, даже если она из говнопалок, но работает.
    серьезных/крупных клиентов на фрилансе нет. максимум - развитие стартапа или какого-то локального среднячка.

    ну и отдельно: "старт в it" и "старт в фрилансе" - два разных человека.
    Ответ написан
    1 комментарий
  • Отправка больших сообщений telegram bot?

    @enabl3 Автор вопроса
    Решено через:
    if len(info) > 4096:
        for x in range(0, len(info), 4096):
            bot.send_message(message.chat.id, info[x:x+4096])
    else:
        bot.send_message(message.chat.id, info)
    Ответ написан
    Комментировать
  • Как реализовать порядок выполнения и зависимость при создании ТГ бота?

    Vindicar
    @Vindicar
    RTFM!
    Тебе нужна реализация state machine (автомат состояний).
    Упрощённо, для каждого пользователя, событие от которого мы обрабатываем, нужно хранить, в каком состоянии он находится (например, в твоём случае "начальное" или "была послана команда /send_id"). Тогда при обработке событий проверяешь, находится ли пользователь в нужном состоянии.

    Хранить состояния можно по разному. В простейшем случае, если состояния не обязаны переживать перезапуск бота и не имею дополнительных данных, может хватить словаря вида "ID пользователя - код состояния".
    Ответ написан
    Комментировать
  • Как подключить htmlcxx в проект C++?

    @majstar_Zubr
    C++, C#, gamedev
    В данном случае, библиотека распространяется как набор файлов, и если будете собирать через Msbuild, проще всего добавить все файлы библиотеки в текущий проект напрямую. Или же оформить сборку отдельным проектом vcproj библиотеки в том же solution.

    UPDATED:

    Кажется либа еще не доработана, т.к. в доках не указана явно сборка под Win.

    1) В подобных случаях в первую очередь нужно искать и просмотреть в архиве все текстовые файлы, которые названы без расширения. В данном случае, в архиве уже есть проектные файлы для сборки через visual studio. Для сборки потребуется сделать только solution.
    2) Создаете новый solution c запуском без кода или через открытие в проводнике на одном из проектов. В ПКМ контекстном меню solution в Solution Explorer добавляете второй проект в solution.
    3) Собираете проект htmlcxx.vcxproj в двух конфигурациях. Если ничего не менять при импорте - это проект статической библиотеки.
    4) Чтобы собрать проект простым CLI (htmlcxxapp.vcxproj) нужно добавить папки, куда собиралась либа - свойства проекта - Linker - Additional include directories. Если создался sln через импорт проекта, то sln создастся в той же папке, что и проекты, и по умолчанию путь для сборки можно задать так $(ProjectDir)$(Configuration)
    5) Linker - Additional Dependencies перед %(AdditionalDependencies) можно просто добавить htmlcxx.lib; для всех конфигураций, т.к. в дебаге либа собирается под тем же именем.
    6) после этого все соберется. Но работать под Win css парсинг не будет.
    Потому что
    #ifdef WIN32
    		if(parse_css)
    		{
    			cerr << "Css parsing not supported in win32" << endl;
    			return 1;
    		}
    		return 0;
    #else


    Но , тут уже надо разбираться, почему нельзя просто так взять и собрать под win, и дорабатывать либу.
    Ответ написан
    3 комментария
  • Влезет ли параллелепипед в четверть цилиндра?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Коробка не должна вмещаться при следующих случаях:
    1) Если хотя бы одна сторона больше чем max(radius, height)
    2) Если три стороны больше, чем min(radius, height)

    оба критерия - косячные.
    1) Допустим, H = 1, R = 10. Тогда влезет коробка со сторонами a=1, b=0.1, c=12
    2) H=10, R=10, не влезет кубик со сторонами 9.

    тут не всё так просто )
    Ответ написан
    4 комментария
  • Не заливаются изменения на github с помощью git push?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    git pull
    Сделать вначале не пробовали? Как того в ошибке советуют?
    Ответ написан
    2 комментария
  • Беспрерывный вывод картинок с помощью raspberry pi?

    @Drno
    Если сложнее и не для 1 клиента - xibo. Или аналоги
    Ответ написан
    Комментировать
  • Как проверить матрицу смежности неориентированного графа на верность?

    @Akina
    Сетевой и системный админ, SQL-программист.
    rastr, как понимать Ваше
    написать не выходит
    , если Вы тут же приводите код - который, кстати, способен решить задачу. Ну разве что:
    1. Итерация идёт по отдельному столбцу либо строке - так что ставить верхнюю границу для i по всей матрице несколько неправильно
    2. По i надо итерировать до предпоследнего значения, а по j - от значения на 1 больше текущего i до последнего. Ибо если проверена какая-то пара, то нет смысла проверять её ещё раз "с обратной стороны", а уж равенство элемента самому себе так и вовсе проверять бессмысленно.

    В общем, приблизительно так (без точного соблюдения синтаксиса)
    bool is_adjacency_matrix_correct(const vector<string>& matrix) {
      size=matrix[0].size();
      for (auto i = 0; i < size-1; i++) {
        for (auto j = i+1; j < size; j++) {
          if (matrix[i][j] != matrix[j][i])
            return false;
        }
      }
      return true;
    }
    Ответ написан
    Комментировать
  • Как реализовать правосторонний бинарный поиск?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Уберите проверку на совпадение внутри while. Присваивайте границам интервала mid, а не mid+1 или -1.
    Ответ написан
    Комментировать
  • Как вводить данные в string, дабы цикл пробегал по всей строке?

    @galaxy
    std::getline
    cin считывает до пробела в очередной агрумент.
    Ответ написан
    Комментировать
  • Я только месяц изучаю С++, где найти ментора который поможет решать задачи?

    kgb_zor
    @kgb_zor
    I need your traceback.
    Не привязывайте программу к конкретному ЯП, возьмите простые задачи, напишите, что программа должна делать.
    К примеру: Вычислить площадь прямоугольника. Со временем вы поймете как это работает, главное практикуйтесь и не опускайте руки после первой задачи, если у вас душа лежит, то всё получится, а вот если не лежит, то никакой ментор, которого вы ищите не поможет. Также в гугле очень много информации для новичков.
    Ответ написан
    Комментировать
  • Посчитать значение выражения с большими числами, как?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    (1N + 2N + 3N + 4N) mod 5 = (1 + 2N mod 4 + 3N mod 4 + 4N mod 4) mod 5
    Ответ написан
    3 комментария
  • Выражение формулы из задачи?

    @dmshar
    Господи, ну сколько можно. Ну хоть элементарно научитесь поиском работать!
    Берете А, А+1,A+2. Смотрите, кто из них делится на 3. Пусть это число равно С. Потом берете все числа С+3,С+2*3,С+3*3.... С+N*3 меньшие чем В. Все. Какой time limit??
    Ну, можете еще В-.A на три поделить, если вас инетерсует только число.
    Ответ написан
    Комментировать
  • Как составить формулу?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    M%p = 0, значит M=k*p для какого-то целого k.

    k*p >= N, значит k >= N/p.

    k - целое, а справа в неравенстве может быть вещественное число. Раз k должно быть больше, то можно вещественное число округлить вверх.

    k >= ceil(N/p).

    слева и справа целые числа, надо найти минимальное k, значит k = ceil(N/p).

    Отсюда весь ответ M = p*ceil(N/p)

    ceil(N/p) можно подсчитать в целых числах в C, как (N+p-1)/p

    Еще, если подумать, что вам нужно блищайшее делящееся на p число, то нужно дополнить N%p до p, то можно сделать так: N+(N%p ? p-N%p : 0)
    Ответ написан
    2 комментария
  • Какие привычки могут сэкономить время?

    GavriKos
    @GavriKos
    - не ставить знаки препинания в сообщениях (sms, соцсети, мессенджеры);
    - сокращать некоторые слова и выражения;

    Это не лайфхаки. Это неуважение к собеседнику. А экономия - копеечная в данном случае.
    Ответ написан
    Комментировать
  • Как изменить строку?

    new_line[i] = a[i];
    В общем случае индексы новой и старой строк не совпадают и возможен выход за пределы массива new_line.
    PS. Для C++ настоятельно рекомендуется использовать std::string. Сейчас у вас код в стиле Си.
    PPS. delete_punctuatuion в вашем примере должна возвращать char*.
    Ответ написан
    Комментировать
  • Код работает, но в конце выкидывает "Debug Error", почему?

    У вас в массиве new_arr после выделения памяти находится мусор, а вы обращаетесь к функции strlen(new_arr) для вычисления длины строки с мусором в памяти. Эта функция работает некорректно, выдает значение не соответствующее действительности. Затем вы заполняете память, которую не выделяли (в new_arr[i]). При попытке ее удалить через delete[] у вас появляется heap corrupt.
    PS. используя с++, используйте std::string
    Ответ написан
    1 комментарий
  • Как скомпилировать файл cpp в Visual Studio?

    olkhovichs
    @olkhovichs
    Скорее всего, потому что вы открыли отдельный файл .cpp, а нужно открыть решение проекта с расширением .sln.
    Ответ написан
    Комментировать