• Как программно менять картинки?

    twobomb
    @twobomb
    Загружается картинка, рисуется на картинке текст, и сохраняется в нужный формат.
    Пример на C#
    Image img = Bitmap.FromFile("D:\\i.jpg"); //путь к картинке 
    Graphics g = Graphics.FromImage(img);
    g.DrawString("Мой текст",new Font("Verdana", (float)20), //текст на картинке, шрифт и его размер
    new SolidBrush(Color.White),15,img.Height / 2); //месторасположения текста
    img.Save("D:\\i.new.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); //путь и имя сохранения файла
    g = null; //обнуляем переменные во избежании переполнения памяти
    img = null;
    Ответ написан
    7 комментариев
  • Разработка игр на Qt - QOpenGL или QGraphicsScene? Или есть еще варианты?

    Zifix
    @Zifix Куратор тега Qt
    Barbatum
    Согласен со Станиславом, вряд ли упирается в QGraphicsScene, он и 2000 думаю вывезет.

    Однако принципиально это не единственный вариант, есть гораздо более быстрый SceneGraph, который должен спокойно вывозить и сотни тысяч объектов.

    Во-первых есть пример игры в комплекте с QtCreator.
    Во-вторых, гугл пилил на QML полноценный платформер, называется VoltAir
    Ответ написан
    Комментировать
  • Разработка игр на Qt - QOpenGL или QGraphicsScene? Или есть еще варианты?

    Конечно все зависит от логики вашей игры и тяжести ваших ресурсов. Если тут все просто, то отрендерить 25 фигур не составив труда. Возможно у вас проблема в самой логике рендера, где-то делаеться много лишних телодвижений. Сказать более точно сложно... С производетельностью pipeline Qt проблем не должно быть. Возможно Я конечно ошибаюсь, но на моей практике все летало шустро.
    Ответ написан
    1 комментарий
  • Почему могут не открываться файлы для записи в QT?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Ну в ресурс, насколько я помню, писать нельзя. А вот читать из него можно.
    Если хотите писать в файл, то указывайте его не как ресурс.
    Ответ написан
    1 комментарий
  • Где можно выбрать разные кнопки, иконки, меню для сайта??

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Ответ написан
    Комментировать
  • Какие разделы математики нужны для машинного обучения?

    Скорее всего, осваивать машоб вы будете с каким-то (видео-)курсом. В описании курса обычно указывают, какие знания необходимо освежить, чтобы заниматься.

    Есть курсы с высокими требованиями к линейной алгебре, матану, мат. статистике. Есть курсы с минимум математики, где стараются объяснить проще и показывают, как пользоваться. Почти наверняка курс будет на английском языке.

    DeepLearning.ai, Udacity, Coursera, Яндекс

    Так что просто подберите наиболее подходящий вам курс, и вперёд!

    p.s. поздравляю с работой!
    Ответ написан
  • Почему все так рьяно говорят о том, что C++ ужасен и не нужен, но при этом он стабильно входит в топ 10 яп?

    @towin
    У С++ нормальный синтаксис. Он намного логичнее чем у Python с его отступами.
    С++ хоть и язык высокого уровня, но позволяет писать очень быстрый код. Настолько быстрый, что он является стандартом для микроконтроллеров, все остальные языки там скорее как исключение (не считая Си).
    С++ позволяет писать очень крупные и сложные проекты. При этом не обязательно использовать все его навороты.

    С++ не любят, потому что на нем можно написать просты вещи очень сложным образом, особенно с использованием новых стандартов. Так конечно не нужно делать в совместной работе, но многие любят тешить свое эго.
    Подключение внешних библиотек к С++ непростое и все нужно делать ручками.
    Количество вакансий на С++ постепенно снижается, т.к. десктоп угасает, очень многое уходит в web и мобилки.
    Ответ написан
    2 комментария
  • Почему все так рьяно говорят о том, что C++ ужасен и не нужен, но при этом он стабильно входит в топ 10 яп?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Потому что он оставляет программиста почти один на один с
    - абстрактной машиной, очень похожей на PDP-11
    - навороченным стандартом, логически следующим из п.1, который призван дать возможность писать максимально легковесный для машины код, и при этом реализуя сложные структуры и алгоритмы.

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

    Но если надо выдавить из железа остатки процентов (игрушка/числодробилка) - увы, остаются плюсики.

    Высокий порог вхождения и болезненное наказание за ошибки вызывает у многих массу фрустрации, которая тугой струей льется в интернетик - прямо вам в голову.
    Ответ написан
    5 комментариев
  • Android Studio или Unity для AR приложения?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Я - тоже.

    Работаю с Юнити и лучших альтернатив под кросс-платформ - пока нет.
    Studio - больше под интерфес-компоненты и "железо" (gps, bt, работа с гугл-сервисами, обработка событий ОС и т.д.).
    Ответ написан
    2 комментария
  • Почему может не вставляться в QTextEdit текст из файла?

    @D3Nd3R
    QFile code("code.txt");
    if (!code.open(QIODevice::ReadOnly | QIODevice::Text)){
        qDebug() << "file doesn't open";
        return ...;
    }
    ui->code->insertPlainText(code.readAll());
    code.close();
    Ответ написан
    Комментировать
  • Что можно делать на Unity кроме игр?

    @RomQua
    Программное обеспечение
    Да и все, на что только фантазии хватит.
    Ответ написан
    Комментировать
  • Как найти индекс лишнего символа, при удалении которого слово становится палиндромом?

    The_Dude_5463
    @The_Dude_5463 Автор вопроса
    Программист (Питон 3.5) - новичок
    Решение готово (по результатам сайта, который проверял его, оно прошло на 100 баллов из 100 возможных):

    def f(c, i, j):
        while i < j:
            if c[i] != c[j]:
                return False
            i += 1
            j -= 1
        return True
    
    c = str(input())
    i = 0
    j = len(c) - 1
    
    if f(c, i, j):
        print(len(c) // 2 + 1)
        exit()
        
    while i < j:
        if c[i] != c[j]:
            if f (c, i, j - 1):
                print(j + 1)
                exit()
            if f (c, i + 1, j):
                print (i + 1)
                exit()
            print('0')
            exit()
        i = i + 1
        j = j - 1
    Ответ написан
    8 комментариев
  • Сервис для изучения c++ кода (+ еще один вопрос о constexpr в качестве примера)?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Вы пытаетесь делать ненужную и бессмысленную работу.
    Первый довод - все компиляторы C++ устроены по разному и от версии к версии их внутренняя кухня сильно меняется. Напоминаю, что у C++ нет даже стабильного ABI

    Далее, большая часть библиотек C++ - это шаблоны, которые при компиляции превращаются в дикий фарш с кучей оптимизаций. Так что если вы что-то там поняли в одном случае, не даст вам информации о том, как это будет работать в остальных случаях.

    Если внутри constexpr появится что-то не-constexpr, компилятор пошлет вас в баню. И правильно сделает.

    Все гарантии о C++ имеются только в стандарте. Прочие попытки сделать доводы о том, как работает компилятор и как работает бинарник будут скорее всего фантазиями или частными случаями, не применимыми в иных ситуациях или при других настройках оптимизации.
    Ответ написан
    Комментировать
  • Как сделать подсветку синтаксиса и номера строк в textArea приложения написанного на Qt (с++)?

    Zoominger
    @Zoominger
    System Integrator
    Вручную, всё вручную.
    Смотрите пример:
    https://evileg.com/ru/post/218/

    Уверен, готовые раскраски тех или иных служебных слов можно нагуглить.
    Ответ написан
    3 комментария
  • Как встроить с++ компилятор в приложение написанное на Qt?

    Zoominger
    @Zoominger
    System Integrator
    Ну просто кидайте бинарник mingw в папку со своей программой и посылайте ей команды на компиляцию через system().
    Что-то типа:
    1. Считать код из textarea;
    2. Сохранить его в файл;
    3. Скормить компилятору;
    4. Если ошибок нет, то запустить со стандартным выводом в тот же файл (если не осилите потоки);
    5. Считать файл и вывести юзеру;
    6. Если ошибки есть, то вывести их юзеру.
    Ответ написан
    3 комментария
  • Как обратиться к элементу созданному программно в qt на с++?

    Создать локальную переменную класса и к ней обращаться.
    Ответ написан
    Комментировать
  • Как обратиться к элементу созданному программно в qt на с++?

    Создайте поле в том же классе, в котором храните поле ui, и сохраните туда указатель на созданный элемент.
    Ответ написан
    Комментировать
  • Как готовить себя к олимпиадному программированию?

    Посмотрите данные темы:
    Длинная арифметика
    Динамическое программирование
    Теория графов
    Рекурсия, перебор
    Сортировка и последовательности
    Комбинаторика
    Простая математика
    Геометрия
    Целочисленная арифметика
    Математическое моделирование
    Жадный алгоритм
    Структуры данных
    Двумерные массивы


    Почитайте о них, разберите каждую. Месяц - слишком мало для подготовки, но если у Вас школьная олимпиада, то еще ничего.

    Архив задач и тренировка здесь:
    acmp.ru
    acm.timus.ru
    Codeforces
    Это очень полезные ресурсы (системы проверки), в которые входят очень интересные и трудные задачи, как раз предназначенные для олимпиадного программирования.
    Ознакомьтесь здесь:
    Олимпиадное программирование для новичков

    Набор языков программирования в каждой системе разный. Вот некоторые из них:
    Набор яп для тимуса
    Для acmp.ru

    Но для начала почитайте и разберите эти ресурсы/книги про алгоритмы:
    algolist.manual.ru
    Кормен Т., Лейзерсон Ч., Ривест Р., Штайн K. - Алг...

    Ну и конечно, подтяните математику. Без математики далеко не уйдете.

    Ответ на Ваш вопрос: для длинной арифметики подошел бы Java.
    Ответ написан
    2 комментария
  • Как готовить себя к олимпиадному программированию?

    @denispalchuk
    Согласен с предыдущими высказываниями. Для себя выбрал плюсы, ведь язык быстрый и гибкий. После школы преподаватель быстро показал что нужно делать:
    1. Учишь Си ( после паскаля выучить синтаксис языка будет несложно, я думаю это займет не больше недели с полным осознанием). Там же узнаешь о рекурсии
    2. Учишь Си++(Общее представление о классах, шаблонах)
    3. Учишь STL, заодно заучивая структуры данных (очередь, стек, списки и т.д.)
    Изучения тонкостей языка программирования на этом окончено. А дальше чисто по темам добиваешь. Основываясь на своём личном опыте, я бы тебе посоветовал учить именно в таком порядке:
    -Графы
    -Динамическое программирование
    -Длинная арифметика
    -Комбинаторика+Жадный алгоритм
    Ну а дальше остальное со списка сверху
    Ответ написан
    1 комментарий
  • Как готовить себя к олимпиадному программированию?

    Bringoff
    @Bringoff
    Android dev at Freelance
    В свое время было что-то подобное. Только в украинском варианте названия другие - школьная, районная, областная, всеукраинская.
    В школе кроме меня программирование фактически никто не знал, на уроках информатики в те года почему-то убрали даже основы какого либо языка. Да и я тогда знал только немного паскаля/delphi. Но лучше варианта не нашлось, так что пошел я (для приличия все задачки в школе все же решил). Спокойно прошел районный этап (было четыре человека, которые тоже непонятно как туда попали - одна девочка ушла через 20 минут). К областному этапу я уже готовился. Особой системы у меня не было - я просто решал задачи на acmp.ru, acm.timus.ru. При необходимости гуглил необходимый алгоритм и старался разобраться в его реализации. Помогал с задачами на одном форуме, иногда и сам спрашивал. В результате за приблизительно 2 месяца такой подготовки я занял второе место) Набрал 69 баллов из 100 (2 задачи решил полностью, 2 частично). Недавно общался с преподавателем своим - говорит, до сих пор меня вспоминают (типа приехал какой-то паренёк из провинции и отобрал призовое место у местных лицеистов). Но я, чесно говоря, своим результатом не слишком доволен, 2 месяца на подготовку -это мало. Да и готовиться надо было более систематично.
    Что бы я точно изменил - писал бы не на паскале:) Сейчас бы я выбрал Java. Недавно вернулся к некоторым задачам на acmp.ru - те задачи, где на паскале надо было изворачиваться, на Java решались элементарно. Например, не пришлось реализовывать длинную арифметику. Кто-то говорил, что часто можно упереться в Time Limit, но, честно говоря, это так себе аргумент - для большинства задач указанного лимита времени для Java с запасом. Небезызвестный Петр Митричев в соревнованиях её использует и уже столько лет показывает результат.
    Да, питона у нас в проверяющей системе на олимпиаде не было. Теоретически на нем можно было писать на своем компьютере, его бы потом проверяли вручную. Но без доступа у тестирующей системе таким образом решать задачи никто не решился.
    Ответ написан
    5 комментариев