Задать вопрос
  • Как решить подобную задачу? ЕГЭ 2014 информатика

    @oxygen3
    Тоже писал эту задачу. Поддерживал минимум на префиксе. Стресс-тест дома программа прошла, правда в бланке из-за того, что писал на Pascal, а не на C++ написал for i := 1 to n по привычке, а надо было условие i < n, то есть до n-1;
    Итак, если мы находимся в элементе с номером i, то minpref - минимум на отрезке от 1 до i-6, который мы поддерживаем (в каждой итерации смотрим на элемент, который был 6 итераций назад и если a[i-6] < minpref то minpref = a[i-6]), и если a[i] * minpref < minout, то minout = a[i] * minpref. Как сделать это с памятью O(n) очевидно, у меня написан костыль, который работает с константной памятью(массив a), можно было использовать стандартную очередь, но за нее бы не поставили максимум баллов по критериям.
    Время работы - O(n).
    Кусок с считыванием от 0 до 5 можно запихать и в основной цикл, если предварительно всё заполнено +inf.

    Если не понятно, то могу какие-то моменты разъяснить.

    Собственно код:
    #include <stdio.h>
    #include <iostream>
    using namespace std;
    double a[6];
    
    int main(void){
        int i,n;
        double minpref = 1000000, minout = 1000000, xcur, a[5];
    
        cin >> n;
        for (int i = 0; i <= 5; i++)
            cin >> a[i];
    
        for (int i = 6; i < n; i++){
            cin >> xcur;
            minpref = min(minpref, a[i % 6]);
            a[i % 6] = xcur;
            minout = min(minout, xcur * minpref);
        }
        cout << minout << "\n";
        return 0;
    }
    Ответ написан
  • Зачем используются константные методы?

    GavriKos
    @GavriKos
    То, что вы можете гарантировать, еще не значит что вы вспомните что это значение менять нельзя. Реальный случай, когда через 100500 функций пришел указатель, который нельзя было чистить (чистился сам после вызова этих 100500 функций), в одной из них небыло const и ради оптимизации было решено грохать в ней этот указатель. Итог - мифические креши при особом положении звезд, 2 ночи дебага и конст везде где значение НЕ ДОЛЖНО меняться. Так исключился человеческий фактор - компилятор просто по ушам даст если попытается кто то удалить.
    Ответ написан
    Комментировать
  • На каком языке программирования написан сайт duolingo.com?

    nowm
    @nowm
    На Python. Я, обычно, если не могу с ходу определить язык, смотрю на вакансии в компании. У них есть вакансии Software Engineer, где написано: «Strong coding skills in Python, JavaScript/AJAX, database design and SQL». Очень большая вероятность, что используется именно питон, так как он указан в контексте с JavaScript и БД.

    Upd: Так же, я нашёл комментарий от Brendan Meeder, который там работает:

    Duolingo runs on Amazon Web Services. We use MySQL to store most of our persistent data, DynamoDB for storing user vocabularies, and a combination of Redis and memcache for caches. Most of our backend stack is written in Python, while the frontend is a combination of mustache templates, backbone.js, jQuery, and Twitter Bootstrap.
    Ответ написан
    Комментировать
  • Где найти полный мануал по Git?

    @yurnei
    githowto.com/ru
    Ответ написан
    Комментировать
  • Каков план личностного развития PHP программиста с нуля?

    Мне кажется, что начинать изучение программирования с нуля с php - немного некорректно. Хотя у каждого своё мнение.
    Первое и самое главное - Алгоритмы и структуры данных + Булева алгебра

    habrahabr.ru/company/hexlet/blog/213959 - введение в логику

    www.lektorium.tv/course/22823?id=22823 - алгоритмы и структуры данных

    Хотя бы немного изучить С (отец языков пишущих :) ) и IT Essential.

    А потом, через 8-10 месяцев такого изучения - со спокойным сердцем (если ещё захочется работать на PHP) можно учить php и идти в джуны.

    По итогу:

    1. IT Essential (Оcновы IT)
    2. Алгоритмы и структуры данных
    3. Булева алгебра
    4. Основы структурного программирования на С.
    5. Основы PHP
    6. Поход в junior в компанию.


    Примерно так.
    Ответ написан
    6 комментариев
  • Как избавиться от подчеркивания ссылок html?

    0neS
    @0neS
    Никак.
    Ответ написан
    Комментировать
  • Как избавиться от подчеркивания ссылок html?

    Умный парень Лебедев советует не избавляться от подчеркивания ссылок. Лучше придумайте, как сделать подчеркивание в подходящем стиле.
    Ответ написан
    Комментировать
  • Литература по embedded systems?

    @HallEffect
    По линуксу например: Embedded_Linux_system_design_and_development - книга доступна в русском переводе тут
    Ответ написан
    Комментировать
  • Кто начинал программировать с 20-ти лет и старше?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    У меня первый комп появился в 19 лет. Думаю, у Вас есть шансы )

    upd
    Навеяно ответом @Mintormo

    Уже вижу сообщения на детских форумах: Здравствуйте, моему малышу уже 6 месяцев. Не поздно его отдавать в программирование?
    Ответ написан
    1 комментарий
  • В чем отличие void от return на примере?

    EvgenijDv
    @EvgenijDv
    C/C++ programmer
    Может быть вы начнете с чего-нибудь типа Pascal, разберетесь что такое процедуры и чем он отличаются от функций и уже потом, постепенно начнете разбираться с Java и ООП?
    Ответ написан
    Комментировать
  • Зачем рейтинг на toster.ru?

    karaboz
    @karaboz
    Директор продуктов в Хабре.
    Система рейтинга на Тостере сейчас в зачаточном состоянии. Скоро он будет иллюстрировать вклад каждого в тот или иной тег. Можно будет видеть самых компетентных по каждой теме. Таким людям можно будет доверить некоторые модераторские функции. Их же можно будет рекомендовать авторам вопросов в качестве экспертов, которых можно позвать в свой вопрос (за дополнительные бонусы). Можно будет настроить себе ленту, чтобы получать вопросы только от людей с определенным рейтингом.

    Рейтинг на Тостере пока никак не связан с Хабром. Но есть идея в будущем на профиле Хабра выводить блок репутации, заработанной на Тостере. И наоборот, на профиле Тостера выводить блок заработанной репутации на Хабре.
    Ответ написан
    Комментировать
  • Реализация отображения набираемого с клавиатуры текста

    @DancingOnWater
    Можно, нужно прикруть анимацию для виджетов и qml это делается по-разному
    Ответ написан
    Комментировать
  • Как программировать игры?

    @BIanF
    Разработчик программного обеспечения.
    А что именно вы не знаете, если знаете С++?
    С чего начать?
    Начните с простого: кнопки старт, по нажатию на которую появляется квадратик, которым вы можете управлять нажатиями стрелок
    Ответ написан
    Комментировать
  • Как программировать игры?

    Если нужно сильно оттянутся - ставь древний виндовс, и пиши напрямую в видеопамять, режимы EGA, VGA, SVGA, там познакомишся напрямую с VSYNC, графическими бэк-буфферами, напишешь свой метод putPixel(x,y,color), затем найдёшь где-то реализацию drawLine, которая будет использовать putPixel, потом другие методы и графические эффекты (вывод графиков придуманных функций), потом распарсишь и выведешь bmp, создашь библиотеку спрайтов, 33-м прерыванием создашь курсор мыши, навесишь спрайт, который может бытоь анимированным, будешь двигать его мышкой, потом найдёшь статью про изометрию, и создашь карту уровня, и промучаешся над тем чтобы плавно скроллить, и только потом у тебя появится Свой класс Enemy, у которого будет life=100;weapon=randomLowWeapon();.. путь джедайского маст-дая. так как ты и хотел, с нуля.
    Ответ написан
    1 комментарий
  • Как программировать игры?

    @lookid
    Стоп-стоп-стоп! Давайте попорядку. А то сейчас начнется.
    Ваш вопрос не корректный. Вы задаете его так, как будто наигрались в Батлфилд 3 и хотите сделать такую же игру.
    1) Идете сюда en.wikipedia.org/wiki/Game_programmer Видите, что разных направлений разработки довольно много.
    2) Берете Mathematics for 3D Game Programming and Computer Graphics, Third Edition и 3D Math Primer for Graphics and Game Development, 2nd Edition. Если вам что-то не понятно, то ищите другеи способы вспоминания 1-2 курса универа: линейную алгебру, основы матана и прочие матрицы.
    3) Все игры уже лет 10 строятся на том, что основной единицей геимплея является RigidBody (абсолютное твердое тело). Идете сюда www.cs.cmu.edu/~baraff/pbm/pbm.html Качаете, читаете. Дальше качаете исходники какого-нибудь Box2D. https://code.google.com/p/box2d/downloads/list и www.bulletphysics.com/ftp/pub/test/physics/papers/...
    4) Ну и нетленка blog.gamedeff.com/?p=64
    Ответ написан
    Комментировать
  • Как программировать игры?

    @Fil
    Для начала, на любом языке, сделайте что-нибудь простое, например тетрис, пятнашки, змейку, арканоид, 2048 или любую другую знакомую игру от начала до конца. Можете внести изменения, добавить уровни и т. д, но чтобы получился готовый продукт. На этом этапе многие отваливаются, так как реальность оказывается сложнее и скучнее. А без этого, никак, так как это даст базовые принципы создания игр.
    Ответ написан
    Комментировать
  • Какие есть способы создания GUI на C/C++ для Linux?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    помимо упомянутого Qt есть GTK+ и wxWidgets
    Ответ написан
    Комментировать
  • Как фильтровать нецензурную лексику?

    @Shaco
    Если люди хотят ругаться - они будут ругаться. Никакие словари, автозамены, и тому подобные вещи от этого не спасут. Составить словарь, содержащий бесчётное количество словоформ (люди у нас изобретательны), слова с буквами другой раскладки, слова, разделёнными посторонними знаками, с изменённым порядком букв - никакого терпежа не хватит. Эврестический анализ гарантирует ложные срабатывания - как их обрабатывать? Без ручной модерации ничего не выйдет. Если вы рассчитываете полностью избавиться от ручной модерации, и при этом хотите обезопасить себя от мата в комментариях - придётся отключать комментарии :)
    Ответ написан
    Комментировать