Задать вопрос
Ответы пользователя по тегу Программирование
  • Программа прикладная математика и информатика. ВШЭ/ИТМО?

    15432
    @15432
    Системный программист ^_^
    Я учился на специальности "прикладная математика и информатика" в МГУ (факультет ВМК).
    Еще поступал в МГТУ им. Баумана и МИФИ (поступил).
    Что могу сказать - поступить как раз-таки несложно. Особенно учитывая довольно халявные олимпиады при университетах (Покори Воробьевы горы, Ломоносов, при бауманке тоже была) (которые как раз сейчас должны идти), дающие преимущества при поступлении (к примеру, "автоматом" 100 баллов ЕГЭ по физике). Не обязательно только жителям столицы - я с сибири прилетал на "Ломоносов", таки немного помогло при поступлении. Вылететь - сложно. Давали пересдавать экзамены по 5 раз (правда, после истории, когда студент нажаловался в ректорат, что ему не дали шестую пересдачу, стали разрешать только две). Учиться - тоже сложно. Математика, математика и ещё раз математика. Правда. Если вы считаете, что будете днями программировать - фиг, я насчитывал 14 различных предметов, связанных с математикой! Сложные теоремы, интегралы, диффуры - всё это вам предстоит на этой специальности. Точно хотите сюда?

    - Развлечения. Универ организовывал не слишком много всего. Посвящение в студенты, раздача бесплатных билетов в театр... Больше, если честно, не помню. Мы самостоятельно (при помощи старосты) организовывали походы в кино, музеи (всей группой). Это если времени хватает.

    - Программа. Скучные обязательные гуманитарные предметы - основы права, экономика, философия. Устаревшие лекции по компьютеру (ассемблер БЭСМ-6, древние основы ПК и т.д.). Про количество математики я уже писал. Многие студенты просто не ходят на лекции, забивают на учебу, но нормально сдают экзамены (сами знаете как).

    - Преподаватели. Большинству преподавателей за 60 лет, молодые - либо дети старшего поколения преподавателей, либо энтузиасты своего дела. Даже в МГУ платят откровенно мало. Но учат хорошо, хоть и строго. Всяких взяток и прочего лично я вообще не видел ни разу за все годы.

    - Общежития. Почти все общежития рядом с МГУ, максимум 20 минут пешком. На 1-3 курсах обычные общаги, 4-6 курсы - главное здание с шпилем. В основном старые комнаты с старой мебелью, но сейчас построили новый корпус. Вроде там теперь располагаются студенты.. Короче не знаю, я в подмосковье в квартире проживал.

    - другие факультеты. механико-математический факультет ещё жестче в плане математики. но там тоже программированию учат.

    P.S. если бы сейчас выбирал, пошёл бы в бауманку, с оборудованием работать люблю, там как раз этому обучают. у нас вообще не было курса аппаратной разработки.
    Ответ написан
  • Правильно ли я понял как устроена RAM?

    15432
    @15432
    Системный программист ^_^
    -- Просьба отвечать да или нет и не углубляться.
    как хотите

    1) нет
    2) да
    3) и да и нет
    4) да
    Ответ написан
    3 комментария
  • Как вставить значение переменной после % в printf()?

    15432
    @15432
    Системный программист ^_^
    Хм. Ну допустим, так:

    char s[10]; //буфер для строки формата
    sprintf(s, "%%%dd", n); //создаем строку формата. если n=3, в буфере s получится "%3d"
    printf(s, n); //эквивалентно printf("%3d", n);
    Ответ написан
    5 комментариев
  • Как на C++ узнать количество передаваемых аргументов?

    15432
    @15432
    Системный программист ^_^
    Функции на c++ по большей части имеют фиксированное число параметров, так что с определением числа параметров нет проблем - это известно на этапе компиляции.
    Функции с переменным числом параметров (например, printf(char* format, ...) )имеют свой механизм определения числа параметров, который вы сами должны закодить на ваше усмотрение. Можете первым аргументом подавать общее число аргументов, как и предлагаете.
    Ответ написан
    Комментировать
  • Почему так долго распаковывается архив весом всего 36мб?

    15432
    @15432
    Системный программист ^_^
    На каждый распаковываемый файл система должна завести новую запись в файловой системе. В результате жесткий диск вынужден мотать головкой чтения/записи туда-сюда на каждый мелкий файл, из-за чего очень сильно падает скорость. Если вы хоть раз копировали 10000 файлов в папке на медленную USB флешку, вы должны были заметить, что много мелких файлов копируются в сотни раз медленнее, чем один большой
    Ответ написан
    4 комментария
  • Что нужно знать, для поступления на программиста?

    15432
    @15432
    Системный программист ^_^
    Поступал в МГУ на программистский факультет, не умел прогать вообще. Поступил, вот уже закончил.
    Универ на то и нужен, чтобы научить. При поступлении требуют лишь базовые знания (баллы ЕГЭ)
    Ответ написан
    Комментировать
  • Какова будет форматная строка для sprintf/printf для целых чисел, чтобы разряды пробелами отделить?

    15432
    @15432
    Системный программист ^_^
    Да вроде нельзя... Только вручную такую штуку написать

    void recursive_print(int number)
    {
        int low_part = number % 1000;
        int high_part = number / 1000;
        if (high_part)
        {
            recursive_print(high_part);
            printf(" ");
        }
        printf("%d", low_part);
    }
    Ответ написан
  • Как пользоваться stdint.h?

    15432
    @15432
    Системный программист ^_^
    Для крипты, если хочется ручками потрогать - либа BigDigits, всё необходимое есть (проверка на простоту, возведение в степень, работа с очень большими числами, и т.д.)
    www.di-mgt.com.au/bigdigits.html

    по вашему вопросу - у вас число неправильное
    184467440737095511615
    18446744073709551615 <-- правильное

    (меня плющит, или в вопросе число поменялось на правильное?)

    и можно юзать тип unsigned long long

    unsigned long long number = 18446744073709551615; //у меня компилится без нареканий

    имхо, проще в шестнадцатеричной:
    unsigned long long number = 0xFFFFFFFFFFFFFFFF;
    Ответ написан
    3 комментария
  • На что указывают указатели?

    15432
    @15432
    Системный программист ^_^
    Указатель это адрес оперативной памяти, где расположен экземпляр класса. По этому адресу хранятся значения всех свойств этого экземпляра класса, а также указатель на таблицу методов и статических членов класса (общая для всех экземпляров)

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

    Указатель на функцию - адрес памяти, где хранится код функции.

    Ну и так далее
    Ответ написан
    4 комментария
  • Почему возникает ошибка LNK2001 Неразрешенный внешний символ символ?

    15432
    @15432
    Системный программист ^_^
    extern MyType X
    эта строка означает, что переменная с именем X типа MyType уже существует и объявлена в некотором другом .cpp файле, причем глобально.

    TL;DR: уберите extern
    Ответ написан
    Комментировать
  • Могу присвоить значение не существующему элементу массива и вывести его, в чем проблема?

    15432
    @15432
    Системный программист ^_^
    Нет, просто вы записали в область памяти за пределами места, выделенного под массив. Это называется buffer overflow и может привести к непредсказуемым последствиям - например, если сразу за массивом выделена другая важная переменная, она может быть перезаписана. Отсутствие проверки ввода пользователя на допустимые границы может быть серьёзной уязвимостью безопасности - локальные переменные выделяются на стеке, в том числе и массивы. Выход за пределы массива позволит перезаписать адрес возврата (который тоже расположен на стеке) и в теории выполнить произвольный код.

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

    15432
    @15432
    Системный программист ^_^
    Вы не инициализировали key
    int key = 0;
    Ответ написан
    4 комментария
  • Какую библиотеку нужно подключить для реализации кода?

    15432
    @15432
    Системный программист ^_^
    Комментировать
  • Как скомпилировать WIN-32 приложения для запуска на машинах без С/С++ компилятора?

    15432
    @15432
    Системный программист ^_^
    Свойства проекта / C++ / Code Generation / Runtime Library - сменить Multi-threaded DLL на Multi-threaded
    Ответ написан
    Комментировать
  • Как правильно передать несколько значений в функцию?

    15432
    @15432
    Системный программист ^_^
    Вот эта конструкция исполняет все действия, указанные через запятую и возвращает результат последнего.
    return (key, array, max, min);
    Так что оно вернет значение min (который равен 100, потому что вы подаёте 100 в аргумент min, что тоже странно). Не очень понятно, что вы хотели здесь сделать. Чтобы компилятор сам понял, что нужно поискать значение в массиве? Это так не работает, нужно писать поиск самостоятельно.
    Ответ написан
    Комментировать
  • Какая еще бывает логика, не считая ТТЛ?

    15432
    @15432
    Системный программист ^_^
    Так ведь история компьютеров началась с таких вещей как абак (счёты), арифмометр (механический сумматор), даже паромеханические вычислительные машины были. Потом пошли ЭВМ на электромеханических реле, затем электронные лампы, только потом транзисторы! И ЭВМ реально занимали целую комнату и потребляли огого электричества. Гуглите про историю компьютеров, много интересного
    Ответ написан
    2 комментария
  • Как получить сообщение целиком используя python socket?

    15432
    @15432
    Системный программист ^_^
    По-хорошему, при использовании TCP следует в самом начале посылать "заголовок", в котором будет указано количество байт в последующем сообщении, чтобы другая сторона знала, сколько ещё байт осталось прочитать из канала. В процессе отправки, пакет может быть разбит на несколько. Например, вы отправляете 8192, а приходит несколько пачек по 1024 байт.
    Простой цикл чтения "до тех пор, пока есть данные" сработает на локалхосте, где задержки в передаче минимальны и отсутствуют потери и переотправка.

    Хм. ещё можно послать по UDP, там максимальный размер пакета 64 КБ, протокол сам поделит сообщение на куски и соберёт их на другом конце. Так что при чтении сокета получите сразу всё сообщение. Но не гарантируется доставка.
    Ответ написан
    1 комментарий
  • Программно сменить браузер по умолчанию?

    15432
    @15432
    Системный программист ^_^
    За это отвечает ключ реестра
    "Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice"

    Пример на C# представлен тут
    https://social.msdn.microsoft.com/Forums/windowsde...

    Для HTTPS - соседняя ветка реестра
    Ответ написан
    Комментировать
  • Как снять блокировку SIM на Samsung GT-E2652?

    15432
    @15432
    Системный программист ^_^
    хм. а если применить мегасброс? на древних моделях и без симки срабатывал
    *2767*3855#
    Ответ написан
  • Как найти медиану одномерного массива?

    15432
    @15432
    Системный программист ^_^
    Если заранее известен набор значений элементов массива (0..255), а количество элементов сильно больше набора значений (несколько тысяч), можно использовать гистограмму — считать количество элементов каждого значения (5 нулей, 340 единиц, 210 двоек… ) В гистограмме середину найти значительно проще (будет известно общее количество, достаточно суммировать количества в ячейках до превышения половины от общего числа. Элемент, на котором будет достигнута середина и будет медианой)
    Данный подход очень сильно ускоряет медианную фильтрацию изображений с большим радиусом (обновление гистограммы можно нехило оптимизировать, обновляя лишь «края» при переходе к соседнему пикселю)
    Ответ написан
    Комментировать